窗口形式不关闭

时间:2011-08-18 08:40:33

标签: c# windows

嘿伙计们,我是Windows应用程序的新手。

我有一个表单,其中我已向其他表单显示了登录按钮点击事件。例如我在用户身份验证后有一个登录页面显示其他两个表单。但我希望用户登录表单的身份验证应该关闭,但其他两个仍然是开放的。

以下是代码,我的登录表单名称为LogIn.cs

private void btnLogIn_Click(object sender, EventArgs e)
{
    if(ValidateUser())
    {
       //Form1

        DetailForm form = new DetailForm(txtUserName.Text.ToString());
        form.Show();

        //Form2

        Progressbar progress = new Progressbar();
        progress.Show();
    }
}

请写一些代码

5 个答案:

答案 0 :(得分:1)

您可以使用Form.Close()

关闭表单

答案 1 :(得分:1)

private void btnLogIn_Click(object sender, EventArgs e)
{
    if(ValidateUser())
    {
       //Form1

        DetailForm form = new DetailForm(txtUserName.Text.ToString());
        form.Show();

        //Form2

        Progressbar progress = new Progressbar();
        progress.Show();
        this.Close();
    }
}

答案 2 :(得分:0)

您可以使用的每个表单都有一个“关闭”方法。

答案 3 :(得分:0)

问题是您的应用程序的主消息循环是在LogIn表单中,这意味着如果您停止此消息循环,您的应用程序将停止。
我个人不会让LogIn表单拥有你的应用程序的主要消息循环。我不会从LogIn表单中打开DetailForm和ProgressBar,它没有多大意义。我会制作一些控制所有这些内容的父类 如果您确实希望LogIn表单成为应用程序的主要部分,但在用户登录后将其隐藏,则可以使用Hide(),或者在单独的线程或进程中运行两个子窗口(不是强烈推荐)。

答案 4 :(得分:0)

是的,我想说的话,只是注意到你的最后评论!具有ValidateUser的表单是你的LoginForm ..你的问题不是很清楚。所以它不能被关闭。你应该隐藏它,如果你不想在后台。