表格打开两次

3D-*_*tiv 0 c#

在下面的代码中,我用frmContact.ShowDialog()打开一个表单; 然后当我通过单击表单中的"确定"按钮关闭表单时,它会关闭,但随后会再次打开,因为我在if语句中有frmContact.ShowDialog().这可以用某种方式完成吗?

        // Button add new customer
    private void btnAdd_Click(object sender, EventArgs e)
    {
        ContactForm frmContact = new ContactForm();

        frmContact.ShowDialog(); // Show the contact form window

        if (frmContact.ShowDialog() == DialogResult.OK)
        {
            MessageBox.Show("OK", "Test", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
        }
    }
Run Code Online (Sandbox Code Playgroud)

Jon*_*Jon 8

只需删除第一个电话:

ContactForm frmContact = new ContactForm();

if (frmContact.ShowDialog() == DialogResult.OK)
{
    MessageBox.Show("OK", "Test", ...);
}
Run Code Online (Sandbox Code Playgroud)

另一个选项(如果显示表单的代码不在检查返回值的代码旁边,则特别有用)是使用Form.DialogResult:

ContactForm frmContact = new ContactForm();
frmContact.ShowDialog();

if (frmContact.DialogResult == DialogResult.OK)
{
    MessageBox.Show("OK", "Test", ...);
}
Run Code Online (Sandbox Code Playgroud)


Nic*_*ick 6

只是摆脱第一个ShowDialog.