C# 使用用户自定义控件的登录屏幕
我遵循了今天在这里得到的一些建议,现在需要更多的帮助: 我有一个带有登录逻辑的用户控件。 在mainForm中,我使用的是:C# 使用用户自定义控件的登录屏幕,c#,.net,forms,parent,C#,.net,Forms,Parent,我遵循了今天在这里得到的一些建议,现在需要更多的帮助: 我有一个带有登录逻辑的用户控件。 在mainForm中,我使用的是: private void Form1_Load(object sender, EventArgs e) { LoginScreen login = new MainMenu(); login.Parent = this; login.Dock = DockStyle.Fill;
private void Form1_Load(object sender, EventArgs e)
{
LoginScreen login = new MainMenu();
login.Parent = this;
login.Dock = DockStyle.Fill;
login.Show();
}
但我猜它不是模态的,因此不会停止原始表单应用程序。当然,在登录表单关闭(并且登录成功)之前,我需要主表单不继续
使用事件是否正确?让login对象引发登录成功的事件,并让MainForm处理它-运行应用程序
编辑:这是用户控件,没有可用的ShowDialog方法。只需使用
ShowDialog()
而不是Show()
此外,ShowDialog()
返回一个DialogResult,因此您可以检查用户是否没有按OK
,并在这种情况下关闭表单:
if(form.ShowDialog() != DialogResult.OK)
{
this.Close();
}else
{
//if login it's ok continue with main form loading...
}
编辑:
假设它是一个用户控件:
- 创建新表单类并在其中添加用户控件(例如,使用设计器)
- 实例化它并在
代码中调用FormLoad
ShowDialog()
ShowDialog()
而不是Show()
此外,ShowDialog()
返回一个DialogResult,因此您可以检查用户是否没有按OK
,并在这种情况下关闭表单:
if(form.ShowDialog() != DialogResult.OK)
{
this.Close();
}else
{
//if login it's ok continue with main form loading...
}
编辑:
假设它是一个用户控件:
- 创建新表单类并在其中添加用户控件(例如,使用设计器)
- 实例化它并在
代码中调用FormLoad
ShowDialog()
- 而不是
login.Show()
您可以使用login.ShowDialog(这个)
,使其成为表单的模式弹出窗口。而不是login.Show()
您可以使用login.ShowDialog(这个)
,使其成为窗体的模式弹出窗口。如果它不是从窗体
类派生的(这是奇数),只需创建一个windows窗体并将控件放在其上,然后调用窗体的ShowDialog
方法。不过,您必须以某种方式将表单的关闭连接到登录屏幕上的控件。如果它触发了一些事件,这应该不是问题。如果它不是从表单
类派生的(这很奇怪),只需创建一个windows表单并将控件放在其上,然后调用该表单的ShowDialog
方法。不过,您必须以某种方式将表单的关闭连接到登录屏幕上的控件。如果它触发一些事件,这应该不是问题。该用户控件没有ShowDialog方法:(该用户控件没有ShowDialog方法:(