我有根据请求运行的脚本,并使用CodeDomProvider进行编译。这是一个例子:
var yes = SendYesNo();
if (yes)
// Do something
else
// Do something else
现在。 SendYesNo显示一个包含用户输入的框。我想暂停该行的脚本,直到设置了响应。然后,获取响应并将其应用于变量并继续执行。到目前为止,我已经使用了await / async,但我不喜欢这个想法。是否可以使用别的东西?
答案 0 :(得分:1)
您可以使用返回参数的模态窗口。如果所需的输入更复杂,您可以使用标准MessageBox或自定义Form。
类似的东西:
public class SomeForm : Form
{
public bool yesNo
{
get
{
return yesNo;
}
set
{
//set value according to your logic
}
}
}
并在您的主表单中调用它:
using (var form = new SomeForm())
{
if (form.ShowDialog() == DialogResult.OK)
{
var yesNo = form.yesNo;
if (yes)
// Do something
else
// Do something else
}
}
如果它只是一个Yes / No MessageBox,你可以参考: How do I create a message box with "Yes", "No" choices and a DialogResult?