c#装载和卸载表格
如何在C#中加载和卸载表单。 所以我有两个表单,登录表单和欢迎表单,所以在这里,我使用会话,如果会话是1,当登录表单加载时,它会自动关闭并加载欢迎表单 我使用此代码,但它不起作用,登录表单仍然打开c#装载和卸载表格,c#,forms,C#,Forms,如何在C#中加载和卸载表单。 所以我有两个表单,登录表单和欢迎表单,所以在这里,我使用会话,如果会话是1,当登录表单加载时,它会自动关闭并加载欢迎表单 我使用此代码,但它不起作用,登录表单仍然打开 private void Login_Form_Load_1(object sender, EventArgs e) { string st = "1"; SqlConnection conn = new SqlConnection(); conn.ConnectionStri
private void Login_Form_Load_1(object sender, EventArgs e)
{
string st = "1";
SqlConnection conn = new SqlConnection();
conn.ConnectionString = @"Data Source=GATEWAY-PC\SQLSERVER;Initial Catalog=train_system;Integrated Security=True";
SqlCommand cmd = new SqlCommand("SELECT * FROM employer WHERE session='" + st + "'",conn);
conn.Open();
SqlDataReader dr1;
dr1 = cmd.ExecuteReader();
if (dr1.Read())
{
string dr = dr1[2].ToString();
if (dr == "1")
{
Form1 fm = new Form1();
fm.Show();
Login_Form lf = new Login_Form();
lf.Close();
}
else {
}
}
else {
}
}
this
关键字引用类的当前实例,并且还用作扩展方法的第一个参数的修饰符
if (dr1.Read())
{
string dr = dr1[2].ToString();
if (dr == "1")
{
this.Close();
Form1 fm = new Form1();
fm.Show();
}
}
这行代码
Login_Form lf = new Login_Form();
lf.Close();
将创建登录表单的全新实例,因此您将面临此问题如果登录表单是您的主表单,您可以使用
this.hide()隐藏它在welcome form load event(欢迎表单加载事件)中编写>代码,然后您可以在欢迎表单上创建一个结束事件,在那里您可以使用Application.Exit()代码>关闭应用程序中的所有内容
if (dr1.Read())
{
string dr = dr1[2].ToString();
if (dr == "1")
{
Form1 fm = new Form1();
fm.Show();
this.hide();
}
}
private void Form_FormClosing(object sender, FormClosingEventArgs e)
{
Application.Exit();
}
小心,你的代码看起来很容易受到sql注入的攻击。是的!!相关代码可能会影响窗体的显示、关闭和隐藏。