none
窗体 最小化——还原 窗口慢慢变小的 原因 RRS feed

  • 问题

  • 一、问题描述

    1、新建一个窗体程序

    2、加入图像控件,设置图像控件比窗体大(一定要控件比窗体大,还有设置滚动条可用才会发生这种事)

    3、设置滚动条可用

    4、点击最小化按钮——任务栏图标 恢复 ... 每次点击都回发现 窗体变小

    二、尝试的解决方法

    在form_resize事件里调试过 ,每次减少17个像素。觉得每次都是把滚动条那部分给省略掉了。

    请各位高手指点 该怎么办 谢谢

    尝试过当最小化的时候记住窗体大小 ,在还原是重设窗体大小。但是总达不到想要的效果。


    2011年6月3日 3:57

答案

  • 你的代码看到了。我稍微修改了一点,效果差不多。你要不试试先,估计是bug。

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace form
    {
      public partial class Form1 : Form
      {
        public Form1()
        {
          InitializeComponent();
          max = this.MaximumSize;
          min = this.MinimumSize;
        }
    
        private Size max, min;
        protected override void OnDeactivate(EventArgs e)
        {
          this.MaximumSize = this.MinimumSize = this.Size;
          base.OnDeactivate(e);      
        }
    
        private void Form1_ResizeEnd(object sender, EventArgs e)
        {
          this.MaximumSize = max;
          this.MinimumSize = min;
          this.Activate();
        }
      }
    }
    
    
    

     


    2011 c# mvp China. *George读起来像不像“饺子”?我爱吃饺子,我叫George。
    2011年6月13日 3:36
    版主

全部回复

  • 没遇到过。你写个例子,发我邮箱给你看看。

    wuyazhe@yeah.net


    2011 c# mvp China. *George读起来像不像“饺子”?我爱吃饺子,我叫George。
    2011年6月4日 19:58
    版主
  • 数学希望,

    您好!请问您的问题解决了吗?

    如果解决了,请把有用的回答标记为答案,并请您把解决方案分享下。

    如果还没解决,请问您用的是vs什么版本?建的是什么类型的工程?

    最好是提供一个可以让我们重现问题的步骤或代码。

     

    Lucy


    Lucy Liu [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2011年6月6日 7:17
    版主
  • 你的代码看到了。我稍微修改了一点,效果差不多。你要不试试先,估计是bug。

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace form
    {
      public partial class Form1 : Form
      {
        public Form1()
        {
          InitializeComponent();
          max = this.MaximumSize;
          min = this.MinimumSize;
        }
    
        private Size max, min;
        protected override void OnDeactivate(EventArgs e)
        {
          this.MaximumSize = this.MinimumSize = this.Size;
          base.OnDeactivate(e);      
        }
    
        private void Form1_ResizeEnd(object sender, EventArgs e)
        {
          this.MaximumSize = max;
          this.MinimumSize = min;
          this.Activate();
        }
      }
    }
    
    
    

     


    2011 c# mvp China. *George读起来像不像“饺子”?我爱吃饺子,我叫George。
    2011年6月13日 3:36
    版主
  • 谢谢你的方法,你的解决方法确实很好。

    2011年6月14日 8:23