C# 在同一窗体的TabControl中显示不同选项卡
我有两个窗口C# 在同一窗体的TabControl中显示不同选项卡,c#,winforms,C#,Winforms,我有两个窗口 登录屏幕 主屏幕 在主屏幕上,我有一个选项卡控件,它有4个选项卡(选项卡页面) 在我的登录屏幕上,我有一个登录功能,允许用户和管理员登录。在主屏幕上,在tabControl中,我有一个选项卡页面“用户管理”,我只想在管理员登录时显示该页面 这是我的登录btn点击功能: private void button2_Click(object sender, EventArgs e) { Form1 mForm = new Form1();
private void button2_Click(object sender, EventArgs e)
{
Form1 mForm = new Form1();
if (textBox3.Text.ToLower() == "admin" && textBox4.Text.ToLower() == "admin")
{
mForm.Show();
this.Hide();
}
else
{
MessageBox.Show("Please enter valid id and password", "Incorrect Credentials", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
}
我想添加一个else条件来验证“用户”凭据,但我想在Form1 windows窗体上隐藏该选项卡页
有什么办法吗?谢谢蒙珠。你的评论把我推向了正确的方向 我能解决这个问题 在我的家庭表格中,我添加了一个
public bool adminLogin = false;
并将我的登录名更新为单击btn:
private void button2_Click(object sender, EventArgs e)
{
Form1 mForm = new Form1();
if (textBox3.Text.ToLower() == "admin" && textBox4.Text.ToLower() == "admin")
{
mForm.adminLogin = true;
mForm.Show();
this.Hide();
}
else if (textBox3.Text.ToLower() == "user" && textBox4.Text.ToLower() == "user")
{
mForm.Show();
this.Hide();
}
else
{
MessageBox.Show("Please enter valid id and password", "Incorrect Credentials", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
}
然后在我的主表单中,在表单加载函数中,我添加了一个检查,如果adminLogin为false,则删除我不想显示的tabPage
private void Form1_Load(object sender, EventArgs e)
{
if (adminlogin == false)
{
tabControl2.TabPages.Remove(tabPage3);
}
}
如果一个人是用户或管理员,你到底是如何登录的?我使用的是硬编码的“Admin”和“User”。我不是从安全的角度来看这个问题。我只是想寻找一种方法来隐藏一个标签页,如果用户id和密码是“admin”,那么您的
Form1
从登录表单接收关于admin或user的信息是合乎逻辑的。您需要在Form1
中设置一个属性,可以从登录表单中设置该属性以隐藏选项卡页面,但您不能这样做。您需要以编程方式将其从选项卡控件中删除。如中所述