我在表单上单击按钮时有以下代码:
private void btnOK_Click(object sender, EventArgs e)
{
if (this.txtProjectName.Text == "")
{
MessageBox.Show("No project name entered", "No Project Name", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
btnOK.DialogResult = DialogResult.None;
}
else
{
this.btnOK.DialogResult = DialogResult.OK;
return;
}
}
如果文本框中有内容,则表单仅在第二次单击时关闭。有没有办法立即关闭表单,并将DialogResult.OK传递给它的调用者?
由于
答案 0 :(得分:12)
不是设置this.btnOK.DialogResult
,而是使用:
this.DialogResult = DialogResult.OK;
这将设置表单的DialogResult
。表单将关闭,DialogResult将具有正确的值。