如何让窗体右上角的最大化和关闭按钮失效,剩下一个最小化按钮谢谢

解决方案 »

  1.   

    MaximizeBox = false;
    MinimizeBox = false;
      

  2.   

    属性里面好像没有啊....
    Maximizebox为true 就是可以显示最大化。
    Minimizebox为true 就是可以显示最小化。
    而:
    Controlbox为true 则是可以显示最大化、最小化、关闭。反之为false。没找到只可以留最小化一个的按钮属性。有知道方法的朋友请发帖告之一下。
      

  3.   

    API重绘
    参考
      

  4.   

    在formload事件中即可
    this.ControlBox = false;
      

  5.   


    Controlbox为false 可以屏蔽关闭按钮(不过最大、最小化也没有了)
      

  6.   


            protected override void OnFormClosing(FormClosingEventArgs e)
            {
                if (e.CloseReason == CloseReason.UserClosing)
                {
                    e.Cancel = true;
                }
                base.OnFormClosing(e);
            }
      

  7.   

    MaximizeBox = false; 
    MinimizeBox = false;
      

  8.   

    手动编程,添加
      this.FormClosing+=new FormClosingEventHandler(SearchForm_FormClosing);
      void SearchForm_FormClosing(object sender, FormClosingEventArgs e)
            {
                
                    e.Cancel = true;
               
            }
    这样可以屏蔽一切的关闭动作,然后MaximizeBox = false;就可以实现你想要的功能了
      

  9.   


    MaximizeBox = false;让关闭按钮失效的话,用API重绘窗体。
      

  10.   

    窗体的这两个属性控制 是否最大化最小化Maximizebox Minimizebox
      

  11.   

    12楼你那个办法是可行,但是他把所有窗体的close事件都cancel了。我是想把某些关闭按钮cancel掉,而不是全部还有什么高见吗??Thank you for your help!
      

  12.   

    屏蔽关闭窗体关闭按钮的方法:protected override CreateParams CreateParams
    {
        get
        {
            int CS_NOCLOSE = 0x200;
            CreateParams parameters = base.CreateParams;
            parameters.ClassStyle |= CS_NOCLOSE;
            return parameters;
        }
    }
      

  13.   


    protected override void OnFormClosing(FormClosingEventArgs e)
            {
                if (e.CloseReason == CloseReason.UserClosing)
                {
                    e.Cancel = true;
                }
                base.OnFormClosing(e);
            }
    最简单就这个,也可以用API
      

  14.   

    2种方法:
    1,使用API,以前VB,VC使用此方法。这里就不说了。
    2,http://www.codeproject.com/KB/cs/DisableClose.aspx
      

  15.   


            //this.MaximizeBox = false;        protected override void OnFormClosing(FormClosingEventArgs e)
            {
      
                if (e.CloseReason == CloseReason.UserClosing)
                {
                    e.Cancel =true;
                }
                
                base.OnFormClosing(e);
            }
    我也收藏了!