代码之家  ›  专栏  ›  技术社区  ›  Simon D.

是单击X按钮时没有关闭消息框

  •  1
  • Simon D.  · 技术社区  · 15 年前

    当我打开一个带有选项YesNo的消息框时,右上角的(通常)取消十字会显示出来,但没有效果。

    System.Windows.MessageBox.Show("Really, really?", "Are you sure?", MessageBoxButton.YesNo);
    

    如果我提供YesNoCancel作为选项,单击Cross将关闭对话框Result Cancel。

    System.Windows.MessageBox.Show("Really, really?", "Are you sure?", MessageBoxButton.YesNoCancel);
    

    如果不隐藏的话,我本以为十字架是“看不见的”,当点击它没有效果时。 也许我不是第一个观察到这一点的人。 您最喜欢的隐藏/禁用此按钮或解决问题的方法是什么?

    注意:我更喜欢不使用System.Windows.Forms的解决方案,因为我正在处理WPF项目,如果可能,我希望避免任何互操作。

    3 回复  |  直到 9 年前
        1
  •  7
  •   ioWint    14 年前

    关闭按钮(在msgbox的标题栏中):由于msgbox窗口是操作系统的内置功能,因此只有在存在某些按钮时才启用其x按钮。如果只有“确定”按钮,则单击X按钮与按“确定”相同。否则,X按钮将被禁用,除非有“取消”按钮,在这种情况下,单击X与按“取消”相同。

    http://www.autohotkey.com/docs/commands/MsgBox.htm

    这是默认行为!从它是MsgBox到它的MessageBox!

        2
  •  2
  •   C-Pound Guru    15 年前

    看看这个 CodeProject article ,概述了旋转自己的MessageBox类。有一个关于禁用关闭按钮的部分。

        3
  •  1
  •   Mnementh    9 年前

    在资源管理器中删除文件时(选中“回收站属性”中的“删除确认”后),会出现一个消息框,询问“是否确实要将这些X项移动到回收站?”在右角带有标题“删除确认”和X。逃生也是有效的。可用的按钮只有“是”和“否”。我们怎么能做到这一点?

    要么是微软没有遵循他们的指导方针,要么是开发人员无法使用这些指导方针。