WPF窗口没有关闭按钮但WITH最小化和最大化按钮

时间:2014-08-18 02:31:13

标签: c# wpf minimize maximize

我想删除WPF应用程序中的关闭按钮(右上角的x)。我在网上找到了一些提示并按照这样做:

private const int GWL_STYLE = -16;
private const int WS_SYSMENU = 0x80000;

[DllImport("user32.dll")]
private extern static int SetWindowLong(IntPtr hwnd, int index, int value);
[DllImport("user32.dll")]
private extern static int GetWindowLong(IntPtr hwnd, int index);

public MainWindow()
{
    SourceInitialized += MainWindow_SourceInitialized;
    InitializeComponent();
}

void MainWindow_SourceInitialized(object sender, EventArgs e)
{
    WindowInteropHelper wih = new WindowInteropHelper(this);
    int style = GetWindowLong(wih.Handle, GWL_STYLE);
    SetWindowLong(wih.Handle, GWL_STYLE, style & ~WS_SYSMENU);
} 

到目前为止工作正常,除了它还删除了我的最小化/最大化按钮。但我只想删除关闭按钮。 有没有办法只删除关闭按钮并保持最大化和最小化按钮?

对于那些认为移除x按钮是个坏主意的人,因为我之前已经读过这个:它不是由于糟糕的UI设计或其他原因。事实上,并非所有用户级别都应该被允许在生产环境中关闭应用程序。

0 个答案:

没有答案