C# - 简单验证 - DialogResult

nf3*_*743 3 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;
        }
    }
Run Code Online (Sandbox Code Playgroud)

如果文本框中有内容,则表单仅在第二次单击时关闭.有没有办法立即关闭表单,并将DialogResult.OK传递给它的调用者?

谢谢

GvS*_*GvS 12

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

this.DialogResult = DialogResult.OK;
Run Code Online (Sandbox Code Playgroud)

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