在做Form时,取消了最大化按钮的显示,但在运行时,如果双击窗体的标题,还是会造成窗体最大化。
请教各位大虾,如何限制鼠标双击,或者屏蔽掉鼠标双击也行。

解决方案 »

  1.   

    Form顶层的那标题栏都隐藏了行不行
      

  2.   

    设置窗体的 frombroderstyle 属性-----------------------
          CSDN 论坛助手 
      http://china-csdn.cn
      

  3.   

    把窗体的Locked 属性设置为false;
      

  4.   

    this.MaximizeBox = false;
                this.FormBorderStyle = FormBorderStyle.FixedSingle;
      

  5.   

    还有一个办法就是把窗体的最大高度和宽度设置为当前大小。
    this.MaximizeBox=false;
      

  6.   

    汗楼上的。。
    窗体的那个Locked是设计器属性
    可以把窗体的FormBorderStyle设为Fixed类型的
    最狠的就是直接把蓝条给屏蔽掉,方法是不要写窗体的Text属性,然后把ControlBox设为false
    如果还是有就把最大。最小全部false
      

  7.   

    protected override void WndProc(ref Message m)
    {
    if (m.Msg == 0xa3)
    {
    return;
    }
    base.WndProc(ref m);
    }
      

  8.   

    这样就可以了
    this.MaximizeBox = false;
    this.FormBorderStyle = FormBorderStyle.FixedSingle;
      

  9.   

    hbxtlhx(平民百姓-自已动手,丰衣足食) 能说说你的这种方法和

    this.MaximizeBox = false;
    this.FormBorderStyle = FormBorderStyle.FixedSingle;”
    相比的优点吗?   我是个初学者,请多指教
      

  10.   

    不好意思,各位,以上方法都不能达到效果呀,双击标题栏还是可以最大化的。
    To hbxtlhx(平民百姓-自已动手,丰衣足食) :你能把方法说得更详细一些吗?我搜索其它资料也是说屏蔽掉事件,和你的应该是类似的。
      

  11.   

    把窗体的Locked属性设为true,MaximizeBox属性设为False,MaximumSize和MinimumSize属性设为和Size属性一样的值。这样应该差不多了吧。你试一下。
      

  12.   

    hbxtlhx(平民百姓-自已动手,丰衣足食) 的方法屏蔽了所有的双击事件
    如果form内有其它地方用到双击的,也不起作用
      

  13.   

    怎么我在vs2005下c#做的form,关闭了maxmizebox后,双击没有最大化?
      

  14.   

    hbxtlhx(平民百姓-自已动手,丰衣足食) ( ) 信誉:112    Blog   加为好友  2007-5-29 18:11:10  得分: 0  
     
     
       
    protected override void WndProc(ref Message m)
    {
    if (m.Msg == 0xa3)
    {
    return;
    }
    base.WndProc(ref m);
    }
      
     
    API消息
      

  15.   

    哎 ~maxizebox =false  后我的双击也没窗体最大化啊 ....
      

  16.   

    this.MaximumSize = this.Size;
      

  17.   

    这样就可以了
    this.MaximizeBox = false;
    this.FormBorderStyle = FormBorderStyle.FixedSingle;
      

  18.   

    protected   override  void WndProc(ref Message m)  
    {
    public   const   int HTCAPTION = 2  ;
    if(m.WParam.ToInt32()==HTCAPTION)//说明鼠标在标题栏   
    {
    if(m.Msg==0xA3)//鼠标双击标题栏时发送的消息   
    {
    return;
    }
    return;
    }
    base.WndProc(ref m);
    }
      

  19.   

    2005应该不会有这个问题,我的设成this.MaximizeBox = false;就不可以最大化了。this.FormBorderStyle  就用的默认属性sizable
      

  20.   

    使用如下的代码:
    protected override void WndProc(ref Message m)
    {
        if (m.Msg == 0xa3)
        {
            return;
        }
        base.WndProc(ref m);
    }
    这样是为了避免窗口处理系统的WM_NCLBUTTONDBLCLK消息,
    默认情况下窗口接收到这个消息后会使窗口最大化,
    所以思路就是当发生这个消息的时候不让窗口处理就是了,也就是说当有这个消息的时候不调用base.WndProc方法,这样窗口就不会收到双击标题的消息,也就不会因双击而最大化了.但这并不是说窗体不能最大化,通过其它的方法或消息,还是可以让窗体最大化的.
    要想让窗体不能最大化,可以把最大化的控件False掉.
      

  21.   

    this.MaximizeBox = false;
    this.FormBorderStyle = FormBorderStyle.FixedSingle;
      

  22.   

    问题已经解决。主要是采用的MDI窗体有问题,谢谢各位捧场。
      

  23.   

    问题没说清楚我汗.
    不是MDI时,9楼的方法很好.