简单的Windows窗体右上方按钮

时间:2011-12-12 20:53:36

标签: c# winforms

我的问题可能听起来很简单,但我无法得到我在任何地方寻找的答案。 我想为Windows Form程序执行 login 页面,但我不希望表单具有右上角的经典按钮(最小化,最大化,关闭)。 我找不到隐藏按钮的属性。

任何人都知道这个好方法吗? 提前致谢

3 个答案:

答案 0 :(得分:2)

对于最小化和最大化按钮,只需设置这些属性(例如在构造函数中):

public Form1()
{      
    MaximizeBox = false;
    MinimizeBox = false;
    ControlBox = false;
}

答案 1 :(得分:1)

Form有两个名为MinimizeBoxMaximizeBox的属性,将它们都设置为false

关闭按钮

在构造和创建Form对象期间,.NET将使用基类CreateParams属性中可用的默认创建参数。

实际上,Forms.Control类中提供了CreateParams property。在表单类(派生自System.Windows.Forms.Form)中,重写此属性并修改创建标志。要禁用“关闭”按钮,请使用0x200修改CreateParams的ClassStyle成员。

private const int CP_NOCLOSE_BUTTON = 0x200;
 protected override CreateParams CreateParams
 {
     get
     {
        CreateParams myCp = base.CreateParams;
        myCp.ClassStyle = myCp.ClassStyle | CP_NOCLOSE_BUTTON ;
        return myCp;
     }
 } 

请完成此link for more info

答案 2 :(得分:0)

在盒子外思考一下,您是否考虑过显示Windows密码对话框而不是自己编写?这样做的好处是可以使对话框看起来更加原生。

您可以使用CredUIPromptForCredentials API显示根据需要自定义的对话框。有很多C#包装器,但如果您喜欢自己动手,那么这是一个非常直接的p / invoke。我快速网络搜索发现了这个Stack Overflow问题,已经完成了必要的p / invoke工作。