没有默认按钮的C#消息框

没有默认按钮的C#消息框,c#,button,default,messagebox,C#,Button,Default,Messagebox,这似乎太简单了,不可能没有现成的答案,但在C#WinForms应用程序中是否可能有一个MessageBox,其中有Yes和No按钮,但这两个按钮都没有设置为“default”按钮?我知道可以设置MessageBoxDefaultButton属性,但我似乎无法将其设置为“无”。这真的不可能吗?这就是MessageBox的工作方式,也是大多数用户看到它时所期望的工作方式。问题是你为什么不喜欢它的行为?在这种情况下,它不被期望的原因是“是”或“否”在这种情况下是同样可行的答案,而使其中一个成为默认答案

这似乎太简单了,不可能没有现成的答案,但在C#WinForms应用程序中是否可能有一个MessageBox,其中有Yes和No按钮,但这两个按钮都没有设置为“default”按钮?我知道可以设置MessageBoxDefaultButton属性,但我似乎无法将其设置为“无”。这真的不可能吗?

这就是
MessageBox
的工作方式,也是大多数用户看到它时所期望的工作方式。问题是你为什么不喜欢它的行为?在这种情况下,它不被期望的原因是“是”或“否”在这种情况下是同样可行的答案,而使其中一个成为默认答案或显得比另一个更受鼓励是不被期望的行为。就我个人而言,我认为其中一个选项应该是受欢迎的,因此,现有的行为是完全好的,但在这种情况下这不是我的职责。这一点很好,但从可用性的角度来看,按
Enter
比将焦点设置为
Yes
并按Enter键要快,对吗?作为一个用户,您会很困惑地看到通常的
消息框
,它不会对
Enter
键做出反应。这是默认按钮属性的作用。你必须选择一个更好的。例如,在“是否要删除文件”的情况下,您可能希望将
No
设置为默认值,这样用户就不会通过在
delete
按钮和确认对话框中单击两次Enter来意外删除文件。这就是重点。如果这不是一个案例-将
Yes
保留为默认按钮。@Habib我重新打开了这个问题(实际上,我不知道我有魔法锤来做这件事),因为这个问题不是关于一个没有按钮的消息框,而是一个没有突出显示默认按钮的消息框。@LarsTech,在编辑问题之前,你做了正确的事情“但是,在C#WinForms应用程序中是否可能有一个没有默认按钮的MessageBox?"