我已经在多个 winforms 中构建了应用程序。第一个表单是登录表单。当用户登录时,它会为他打开另一个表单,比如说表单 2,然后从那里我有菜单条,它将用户进一步带到表单 3、4、5 等等。
我想要的是在右上角放一个按钮并将其命名为LOG OUT。此按钮将出现在所有表单上(当然不会出现在第一个表单上),因此当用户登录时,做他需要做的事情,并且然后有能力注销,不管他是什么形式。当他注销时,第一个表单将再次弹出!如何才能做到这一点?登录后是否可以关闭表单 1(登录表单,父表单)而不关闭整个应用程序(子表单)?
接下来我需要设置限制......我的意思是会有不同类型的用户,普通用户和管理员,它们将有更多可用选项。我已经完成了登录部分,检查了数据库中是否存在与 textbox1 和 textbox2 匹配的用户名和密码,但我需要一些建议来实现我刚才描述的内容。
谢谢,贝恩
private void button1_Click(object sender, EventArgs e)
{
try
{
SqlConnection con1 = getConnection();
con1.Open();
SqlCommand com1 = new SqlCommand();
com1.Connection = con1;
com1.CommandType = CommandType.Text;
com1.CommandText = "select * from radnik WHERE username = '" + textBox2.Text + "' AND password = '" + textBox3.Text + "'";
SqlDataReader reader = com1.ExecuteReader();
if (reader.Read())
{
MessageBox.Show("Uspesno ste se ulogovali!");
Form2 form2 = new Form2();
form2.Show();
}
else { MessageBox.Show("Doslo je do greske!"); }
}
catch (Exception ee)
{
MessageBox.Show(ee.StackTrace);
}
Refresh();
}
这会检查登录信息
private void stoloviToolStripMenuItem1_Click(object sender, EventArgs e)
{
var form3 = new Form3();
form3.Show();
}
private void stoloviToolStripMenuItem_Click(object sender, EventArgs e)
{
}
private void sifrarnikToolStripMenuItem_Click(object sender, EventArgs e)
{
var form4 = new Form4();
form4.Show();
}
private void rezervacijeToolStripMenuItem_Click(object sender, EventArgs e)
{
var form6 = new Form6();
form6.Show();
}
private void porudzbineToolStripMenuItem_Click(object sender, EventArgs e)
{
var form7 = new Form7();
form7.Show();
}
private void magacinToolStripMenuItem_Click(object sender, EventArgs e)
{
var form9 = new Form9();
form9.Show();
}
private void button1_Click(object sender, EventArgs e)
{
Form1 fr1 = new Form1();
fr1.Show();
}
这只会引导用户使用不同的 winform