关于(TS.ShowDialog(this) == dialgresult . yes)的作用的问题



我有一个程序突然开始给我错误(如下所示)。我认为问题在于下面的if语句从来都不是真的。谁能解释一下if文件在找什么?当屏幕在另一个屏幕前面打开时,就会发生这种情况。我认为这将检查是否打开了新屏幕,但是if语句从来没有实现过。

private void TeachSensor_Button_Click(object sender, EventArgs e)
{
TeachSensor_OPC();
UserProgram.Enabled = false;
User_Program_Teach_Senson TS = new User_Program_Teach_Senson(this);
if (TS.ShowDialog(this) == DialogResult.Yes)
{
OperationInitialize();
SetupMode_Button_Click(null, null);
SetupMode_Button.Focus();
PartCounterOPC.RunWorkerAsync();
}
}

ShowDialog()是表单的函数,用于将表单显示为对话框。当对话框关闭时返回函数的结果。将设置一个带有消息提示的对话框,根据用户在对话框中所做的操作返回DialogResult值(例如,单击OK,返回DialogResult.OK;点击取消或关闭按钮返回DialogResult.OK;Yes,No等相同)。在您的例子中,If语句将不会被计算,直到对话框关闭。

因此,任何用于初始化对话框的代码都必须在对话框表单中。当用户完成对话框中的任务后,通过在对话框中设置Form.DialogResult(例如DialogResult = DialogResult.OK)返回结果。

最新更新