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

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

Patricia Arquette
发布: 2025-01-02 16:23:38
原创
954 人浏览过

How to Hide the Close Button in a WPF Window While Keeping the

在 WPF Windows 中隐藏关闭按钮

在 WPF 中,创建模式对话框需要一个没有关闭按钮的窗口,同时保持可见的标题栏。尽管探索了 ResizeMode、WindowState 和 WindowStyle 等属性,但它们都无法满足此特定需求。

要解决此问题,您可以利用 P/Invoke 来操纵窗口的样式并实现所需的行为。操作方法如下:

  1. 将以下声明添加到您的 Window 类中:

    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);
    登录后复制
  2. 在 Window 的 Loaded 事件中,包含以下内容code:

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

通过执行此代码,您将成功隐藏标题栏中的关闭按钮,确保更直观的模态对话框体验。

重要注意事项:

虽然此解决方案在视觉上隐藏了关闭按钮,但它并不能阻止用户使用键盘快捷键(例如 Alt F4)或通过任务栏关闭窗口。为了防止窗口过早关闭,请考虑覆盖 OnClosing 事件并将 Cancel 设置为 true。

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

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