C#:如何在不使用按钮时发送OK或Cancel返回对话框的消息?

53 c#

C#:如何在不使用按钮时发送OK或Cancel返回对话框的消息?

如果在用户按下Enter键时将继续执行文本框的条件,您将如何返回OK消息,并在用户按下Ctrl + Q时发送取消?

无视:解决方案 - this.dialogresult = dialogresult.ok或dialogresult.cancel.

con*_*tor 119

设置表单DialogResult:

this.DialogResult = DialogResult.OK;
this.Close();
Run Code Online (Sandbox Code Playgroud)

这将导致打开此表单的任何开启者ShowDialog()获得给定DialogResult的结果.

  • 你误会了.表单实际上是隐藏未关闭的"当用户单击对话框的"关闭"按钮或设置DialogResult属性的值时,不会自动调用Close方法.而是隐藏表单,可以在不创建新表单的情况下再次显示对话框的实例.由于这种行为,当您的应用程序不再需要该表单时,您必须调用表单的Dispose方法." - 来自MSDN(https://msdn.microsoft.com/en-us/library/system.windows.forms.form.dialogresult(v=vs.110).aspx) (6认同)
  • 如果我没有弄错,设置`DialogResult`会自动关闭窗口,所以第二个语句是多余的. (5认同)

Dav*_*kle 33

我假设您正在使用Windows窗体...

有两种方法.

对于OK - 将窗体上的AcceptButton设置为OK按钮.对于取消 - 将表单上的取消按钮设置为取消按钮.

或者,您可以手动将表单DialogResult设置为DialogResult.OK或DialogResult.Cancel,然后以编程方式关闭表单.


mmm*_*reg 5

直接,在按钮本身的属性中,有DialogResult属性,可以设置为OK/Cancel/Yes/No/etc...正如其他人所说,这也可以通过编程方式设置。

在按钮所在窗体的属性中,将 AcceptButton 属性设置为您的按钮。这也会做一些事情,比如当你按下回车键时触发按钮,并突出显示按钮。