Windows窗体DialogResult

时间:2012-01-07 11:47:40

标签: c# winforms dialogresult

在下面的代码中我想获得一个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) {
        ...
    }
}

在我的Form1Form2处设置this.DialogResult = DialogResult.OK。 在流程结束时,我的变量dialogResultDialogResult.None,为什么?

2 个答案:

答案 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());