在下面的代码中我想获得一个Form的对话结果,但是它没有保存到我的变量中......为什么?
我的代码:
public void xyz() {
var dialogResult = new DialogResult();
if (booleanVariable) {
var form1 = new Form1();
form1.ShowDialog();
dialogResult = form1.DialogResult;
}
else {
var form2 = new Form2();
form2.ShowDialog();
dialogResult = form2.DialogResult;
}
if (dialogResult == DialogResult.OK) {
...
}
}
在我的Form1
和Form2
处设置this.DialogResult = DialogResult.OK
。
在流程结束时,我的变量dialogResult
为DialogResult.None
,为什么?
答案 0 :(得分:1)
public void xyz() {
var dialogResult = booleanVariable ? new Form1().ShowDialog() : new Form2().ShowDialog();
if (dialogResult == DialogResult.OK) {
...
}
}
答案 1 :(得分:1)
尝试使用您的IF
声明修改此内容:
DialogResult var;
Form2 qwerty = new Form2();
var = qwerty.ShowDialog();
MessageBox.Show(var.ToString());