首页 > 后端开发 > C++ > 如何在 WPF 窗口中隐藏关闭按钮,同时仍保留

如何在 WPF 窗口中隐藏关闭按钮,同时仍保留

Barbara Streisand
发布: 2025-01-03 09:11:39
原创
467 人浏览过

How Can I Hide the Close Button in a WPF Window While Still Preserving the

在 WPF Windows 中隐藏关闭按钮

在 WPF 应用程序中,创建模式对话框通常涉及隐藏关闭按钮,同时保留标题栏。虽然 WPF 缺乏用于此特定目的的内置属性,但可以使用 P/Invoke 和事件处理的组合来隐藏关闭按钮。

要隐藏关闭按钮,请首先添加必要的声明:

private const int GWL_STYLE = -16;
private const int WS_SYSMENU = 0x80000;
[DllImport("user32.dll", SetLastError = true)]
private static extern int GetWindowLong(IntPtr hWnd, int nIndex);
[DllImport("user32.dll")]
private static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong);
登录后复制

接下来,在Window的Loaded事件中,执行以下代码:

var hwnd = new WindowInteropHelper(this).Handle;
SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) & ~WS_SYSMENU);
登录后复制

这将隐藏关闭按钮以及窗口图标和系统菜单。

重要注意事项

请注意,虽然此方法隐藏了关闭按钮,但它不会阻止用户关闭通过其他方式打开窗口,例如按 Alt F4 或从任务栏关闭应用程序。

要完全防止在满足特定条件之前关闭窗口,需要建议重写 OnClosing 事件并将 Cancel 设置为 true。这可以与 P/Invoke 技术结合起来,提供禁用窗口关闭的完整解决方案。

以上是如何在 WPF 窗口中隐藏关闭按钮,同时仍保留的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板