【问题标题】:Let code wait till OK button is clicked on form [closed]让代码等到单击表单上的“确定”按钮[关闭]
【发布时间】:2021-08-31 12:48:17
【问题描述】:

我有一个表格和一个班级。该类有时会调用表单。此时用户必须提供一些输入,单击“确定”,此时课程必须继续。

此时我有以下要调用的表单,该表单正在运行,但课程继续进行并且不等待。

templateForm.Show();

我如何让课程等到用户单击“确定”?

【问题讨论】:

  • 可以订阅ClickOK按钮事件。
  • 如果你希望你的 templateForm 以模态显示,那么你应该调用 templateForm.ShowDialog(); (模态意味着与用户界面其他部分的每次交互都被暂停,直到您可以通过单击除 DialogResult.None 之外的任何设置了 DialogResult 属性的按钮来关闭 templateForm
  • 您可以使用点击事件并在该点击上调用新表单。
  • templateForm.ShowDialog(); 怎么样,这将导致您需要的行为。

标签: c# winforms


【解决方案1】:

每个表单都有一个ShowDialog 方法。

就像Messagebox 一样,您可以显示表单并等到DialogResult 变为OK

在您显示的表单中,当表单显示在ShowDialog 中时,您需要将按钮OK 设置为默认的OK 响应。

This postDocumentation

用户完成插入对话框后,您可以访问插入的文本。

另一种选择是仅将 InputBox 用于文本输入:VisualBasic.Interaction.InputBox

【讨论】:

  • 我将其更改为:if (templateForm.ShowDialog() == DialogResult.OK)。现在显示了表单,但是当我单击 OK 时没有任何反应,if 语句中的代码没有执行。
  • 在你的按钮属性中,在表单中,将OK按钮属性->Property DialogResult改为OK
  • 行得通!谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-24
  • 2021-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-01
  • 1970-01-01
相关资源
最近更新 更多