C# - 简单验证 - DialogResult

时间:2010-09-30 09:27:13

标签: c#

我在表单上单击按钮时有以下代码:

        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传递给它的调用者?

由于

1 个答案:

答案 0 :(得分:12)

不是设置this.btnOK.DialogResult,而是使用:

this.DialogResult = DialogResult.OK;

这将设置表单的DialogResult。表单将关闭,DialogResult将具有正确的值。