winform窗体最小化后……      能不能执行了窗体最小化事件后,窗体依然保持原来状态。

解决方案 »

  1.   

    除非重写
    要么最好的办法就是设置其值为false了
      

  2.   

    请问 把什么值 设为 false?
    因为最小化可以释放内存。  我想执行它,而且我的界面保持原来状态?
    谢谢!
      

  3.   

    1楼2楼意思是要你把最小化的按钮的Enable设置成False....跟你的意图还是有差别的...
      

  4.   

    恩. 谢谢!
    我的程序要释放内存, 现在唯一的方法就是 最小化窗体. 可是???
    如果能找到  windows 最小化事件,引发的函数就好了。
      

  5.   

    程序最小化的时候对电脑资源的占用确实少了.
    这样应该是把程序最小化吧?
    Form.WindowState = System.Windows.Forms.FormWindowState.Minimized;
      

  6.   

    呵呵 我问过了:
    http://community.csdn.net/Expert/topic/4974/4974618.xml?temp=.1826136
    可是没有较好的结果。Form.WindowState = System.Windows.Forms.FormWindowState.Minimized; 是可以最小化。
    但我想窗体依然保持原来状态。
    谢谢大家
      

  7.   

    要不,你做一次最小化,然后立即再还原。不过窗体会闪一下。如果在这期间用户不会操作,倒是可以再创建一个窗体,并且Paint成主窗体的外观,显示出来,然后执行最小化和还原,然后再销毁做“面具”的窗体。这样对于用户来说是不会注意窗体的闪烁的。
      

  8.   

    手工CLR    进行释放
      

  9.   

    谢谢 我现在就做成 一次最小化,然后立即再还原.  这个方法还行,不过不很完美.请问 如何手工CLR?希望能指点一下! 谢谢!
      

  10.   

    我猜楼主的意思是屏蔽最小化消息,我的源码如下: 
    protected override void WndProc(ref Message m)
            {
                const int WM_SYSCOMMAND = 0x0112;
                const int SC_CLOSE = 0xf020;
                if (m.Msg == WM_SYSCOMMAND && (int)m.WParam == SC_MINIMIZE)
                {
                    return;
                }
                else
                  base.WndProc(ref m);
            }
      

  11.   

    谢谢!你提供的代码挺有用的.我开发的winform 软件。 只是占内存太大了。没有好的办法让内存降下来。最小化窗体 可以让 内存从30m 变到 3m 。所以我想借用 最小化调用的函数。请高手指点!