[英]How can I hide the close button of a form?
我正在使用下面的代碼來顯示表單圖標,但禁用關閉按鈕圖標。 這可行,但是我想完全隱藏按鈕。 我該如何實現?
public partial class Form1 : Form
{
private const int CS_NOCLOSE = 0x200;
protected override CreateParams CreateParams
{
get
{
CreateParams mdiCp = base.CreateParams;
mdiCp.ClassStyle = mdiCp.ClassStyle | CS_NOCLOSE;
return mdiCp;
}
}
public Form1()
{
InitializeComponent();
}
}
您無法隱藏它,但是可以通過上面的代碼禁用它。
最好使用沒有關閉按鈕的控制箱來制作自己的表單,然后隱藏父表單的控制箱。
這將隱藏所有東西:
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
現在,您可以制作一個大的容器面板,並放置自定義按鈕,該按鈕可以執行“還原”按鈕和“最小化”按鈕之類的操作。 好??
嘗試此操作,以禁用關閉(X)按鈕,它位於vb.net中,您可以將其轉換為c#
Private Const SC_CLOSE As Integer = &HF060
Private Const MF_GRAYED As Integer = &H1
<DllImport("user32.dll")> _
Private Shared Function GetSystemMenu(hWnd As IntPtr, bRevert As Boolean) As IntPtr
End Function
<DllImport("user32.dll")> _
Private Shared Function EnableMenuItem(hMenu As IntPtr, wIDEnableItem As Integer, wEnable As Integer) As Integer
End Function
Public Sub EnableDisable(form As Form, isEnable As Boolean)
EnableMenuItem(GetSystemMenu(form.Handle, isEnable), SC_CLOSE, MF_GRAYED)
End Sub
調用EnableDisable(Me, False)
禁用並EnableDisable(Me, True)
啟用
這個對我有用
僅當所有其他按鈕(最小,最大,幫助)也都隱藏時,關閉按鈕才會隱藏。
但是隱藏所有這些內容的一種方法是將表格邊框設置為無,
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.