在winform应用程序中,如何在“标题栏”中添加图像和标题文本并删除所有控件按钮(min,max& close)。我能够显示图像和标题文本,但无法删除所有按钮,包括“关闭”按钮。对此有任何解决方法吗?
答案 0 :(得分:1)
您可以将窗体的ControlBox属性设置为False,然后您可以轻松删除所有按钮(最小,最大,关闭按钮),甚至可以设置标题和图像,使用FormBorderStyle它将完全删除标题栏,这对你的问题没有帮助。
所以我建议你设置
ControlBox=false
答案 1 :(得分:0)
在FormDesigner中将FormBorderStyle设置为None可能会有所帮助。
答案 2 :(得分:0)
不幸的是,你需要使用PInvoke来调用Windows API函数。
// Changes an attribute of the specified window.
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]
public static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong);
// Retrieves information about the specified window.
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]
public static extern int GetWindowLong(IntPtr hWnd, int nIndex);
public const int GWL_STYLE = (-16);
public const int WS_SYSMENU = 0x00080000;
public const int WS_MAXIMIZEBOX = 0x00010000;
public static void SetDialogStyle(Form window)
{
// We disable the control box functionality for the window
// i.e. remove the minimize, maximize and close button as
// well as the system menu.
int style = GetWindowLong(window.Handle, GWL_STYLE);
style &= ~(WS_SYSMENU | WS_MAXIMIZEBOX);
SetWindowLong(window.Handle, GWL_STYLE, style);
}
你可以在OnLoad事件中调用此函数,将 this 作为函数的参数传递。