嘿伙计们,我是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();
}
}
请写一些代码
答案 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 ..你的问题不是很清楚。所以它不能被关闭。你应该隐藏它,如果你不想在后台。