关闭消息框,但保持窗体打开

本文关键字:窗体 消息 | 更新日期: 2023-09-27 17:54:46

我制作了一个用户用用户名和密码登录的表单。如果密码不正确,我有一个消息框RetryCancel。我希望用户单击重试,并有消息框关闭,同时保持登录表单仍然在,所以用户可以尝试再次登录。

我尝试了很多不同的选项,基本上我得到的都是一个无限循环或所有的窗口关闭。这是我目前得到的。谢谢你,

if (line != PassWord)
do
{
        result = MessageBox.Show(message, "Error", MessageBoxButtons.RetryCancel, MessageBoxIcon.Information);
        result = DialogResult.Retry;
        this.Close();
} while(result == DialogResult.Retry);
if (line == PassWord)
{
    Close();
}

关闭消息框,但保持窗体打开

if (line != PassWord)
{
    var result = MessageBox.Show(message, "Error", MessageBoxButtons.RetryCancel,    MessageBoxIcon.Information);
    if (result == MessageBoxResult.Cancel)
    {
        // User chose cancel, close app or whatever
    }
    else
    {
        // User pressed retry, nothing really happens
    }
}       
else if (line == PassWord)
{
    Close();
}

为什么不设计一个简单的登录表单,并在登录按钮上检查登录用户名和密码呢?如果身份验证失败,则只需显示消息框,显示"检查用户名和密码",并带有okonly选项。