大家好,又见面了,我是全栈君
一种方法是可以在窗体的属性面板将窗体的 ControlBox属性设置为false,或者在窗体的构造函数中这样写:
1 public Form1()
2
3 {
4
5 InitializeComponent();
6
7 this.ControlBox = false; // 设置不出现关闭按钮 http://www.cnblogs.com/roucheng/
8
9 }
不过这样做的话,会连同最小化和最大化按钮都给弄掉了,所以,如果你想只想让关闭按钮不起作用,然后保留最小化、最大化的话,就重写窗体的CreateParams方法:
1 //禁用窗体的关闭按钮
2
3 private const int CP_NOCLOSE_BUTTON = 0x200;
4
5 protected override CreateParams CreateParams
6
7 {
8
9 get
10
11 {
12
13 CreateParams myCp = base.CreateParams;
14
15 myCp.ClassStyle = myCp.ClassStyle | CP_NOCLOSE_BUTTON;
16
17 return myCp;
18
19 }
20
21 }
或者取消左上角的关闭事件执行
1 private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
2
3
4 {
5
6
7 e.Cancel = true;
8
9
10 }
11
12
13
14
15
16
17 // 重写OnClosing使点击关闭按键时窗体能够缩进托盘
18 //http://www.cnblogs.com/roucheng/
19
20 protected override void OnClosing(CancelEventArgs e)
21
22
23 {
24
25 this.ShowInTaskbar = false;
26
27 this.WindowState = FormWindowState.Minimized;
28
29
30 e.Cancel = true;
31
32
33 }
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/120707.html原文链接:https://javaforall.cn