【问题标题】:How to hide game form's close button?如何隐藏游戏窗体的关闭按钮?
【发布时间】:2013-01-21 03:04:08
【问题描述】:

在 winforms 应用程序中找到一种方法来执行此操作有些容易,但在 XNA 中,我无法使代码 sn-ps 按预期工作。我也不想禁用系统按钮,我仍然需要最大化和最小化按钮。

如何在不禁用其他按钮的情况下禁用 XNA 游戏窗体上的关闭按钮 (x)?

【问题讨论】:

    标签: c# button xna hide


    【解决方案1】:

    在你的代码中定义这个

    [DllImport("user32.dll")]
    static extern bool EnableMenuItem(IntPtr hMenu, uint uIDEnableItem, uint uEnable);
    [DllImport("user32.dll")]
    static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);
    internal const UInt32 SC_CLOSE = 0xF060;
    internal const UInt32 MF_ENABLED = 0x00000000;
    internal const UInt32 MF_GRAYED = 0x00000001;
    internal const UInt32 MF_DISABLED = 0x00000002;
    internal const uint MF_BYCOMMAND = 0x00000000;
    

    然后使用此功能禁用或启用关闭按钮

    public void EnableOrDisableCloseButton(bool Enabled)
    {
        IntPtr hSystemMenu = GetSystemMenu(this.Window.Handle, false);
        EnableMenuItem(hSystemMenu, SC_CLOSE, (uint)(MF_ENABLED | (Enabled ? MF_ENABLED : MF_GRAYED)));
    }
    

    【讨论】:

      猜你喜欢
      • 2013-07-20
      • 2010-10-19
      • 2015-12-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-10
      • 1970-01-01
      相关资源
      最近更新 更多