ShowDialog不会返回DialogResult

use*_*337 3 c# winforms

我做了一个显示的form2,并且有返回DialogResult的按钮,但我不知道为什么这不起作用:

Form1中:

private void buttonEvent_Click(object sender, EventArgs e)
{
    Form2 form2 = new Form2();
    if (form2.ShowDialog() == System.Windows.Forms.DialogResult.OK)
        labelEvent.Text = hEvent.GetName; //Breakpoint here but it doesn't stops!
}
Run Code Online (Sandbox Code Playgroud)

窗体2:

String Name;

public String GetName
{
    get { return Name; }
}

private void button1_Click(object sender, EventArgs e)
{
    button1.DialogResult = DialogResult.OK;
    this.Close();
}
Run Code Online (Sandbox Code Playgroud)

Abh*_*nav 7

我想你应该用

private void button1_Click(object sender, EventArgs e)
{
    this.DialogResult = DialogResult.OK;
    this.Close();
}
Run Code Online (Sandbox Code Playgroud)

  • 当表单显示为对话框时,您不需要`this.Close();`行.更改`this.DialogResult`值将关闭表单. (3认同)