1. 程式人生 > 程式設計 >C# winform中視窗關閉按鈕的隱藏與禁用詳解

C# winform中視窗關閉按鈕的隱藏與禁用詳解

首先說一句:

不存任何一種方式可以單獨隱藏關閉按鈕,隱藏的話會把所有最大化,最小化,幫助,關閉按鈕都給隱藏掉。

第一種:禁用視窗上部的關閉按鈕

方法一:在Form1的視窗程式中desigener設計器中重寫如下方法:(將此部分貼上到視窗程式中去就可以了)

protected override void WndProc(ref  Message m)
    {
      const int WM_SYSCOMMAND = 0x0112;
      const int SC_CLOSE = 0xF060;
      if (m.Msg == WM_SYSCOMMAND && (int)m.WParam == SC_CLOSE)
      {
        return;
      }
      base.WndProc(ref m);
    }

C# winform中視窗關閉按鈕的隱藏與禁用詳解

方法二:就是在視窗的FormClosing事件中加上這樣一句話就可以了

e.Cancel=true

C# winform中視窗關閉按鈕的隱藏與禁用詳解

第二種:隱藏掉視窗上部的關閉按鈕

方法一:在視窗的初始化事件中加上this.Control=false;這樣一句話就可以了

public mainForm()
    {
      InitializeComponent();
      this.ControlBox = false; 
    }

C# winform中視窗關閉按鈕的隱藏與禁用詳解

方法二:將視窗的FormBoderstyle屬性設定為None。這種方法是將整個標題欄去掉了。

C# winform中視窗關閉按鈕的隱藏與禁用詳解

補充知識:C#Winform去掉邊框後,窗體最大化,工作列被遮擋問題!

問題描述:

為了自定義設定介面的標題,邊框樣式,我們通常會把winform窗體的邊

框屬性設定為None,但去掉邊框的窗體在最大化時會擋住電腦桌面的工作列,

但工作列的時間、輸入法等我們仍然需要用到,因此工作列必須顯示出來。

解決方法:

在窗體初始化完後,加入

this.MaximizedBounds = Screen.PrimaryScreen.WorkingArea;

this.Size = Screen.PrimaryScreen.WorkingArea.Size;

例:

  public MainFrm()
  {
  InitializeComponent();
  this.MaximizedBounds = Screen.PrimaryScreen.WorkingArea;
  }

以上這篇C# winform中視窗關閉按鈕的隱藏與禁用詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。