上代码,关于一个form中打开另一个form的问题
我做了一个登陆界面,连接远程数据库验证信息,但是由于是远程比较慢,想弹出一个等待窗口,该窗口显示“正在登陆,请稍后....”但是登陆button的事件里如下的代码,wait窗口里面死活label的东西都显示不出来,只显示了背景色,我加个button都显示不出来,求解释....
private void button1_Click(object sender, EventArgs e)
{
wait wt = new wait();
wt.Show();
string user = textBox1.Text.Trim();
string sql = "select * from userinfo where code= '" + user + "'";
DataSet ds = DB.getdatasetbysql(sql);
//this.dataGrid1.DataSource = ds.Tables["table1"];
if (ds.Tables[0].Rows.Count == 0)
{
MessageBox.Show("用户名不存在", "错误", MessageBoxButtons.OK);
}
else if (ds.Tables[0].Rows[0]["password"].ToString() == textBox2.Text.Trim())
{
userid = ds.Tables[0].Rows[0]["id"].ToString();
DateTime dt = DateTime.Now;
Form2 fr = new Form2(userid, dt);
fr.Show();
}
else
{
MessageBox.Show("密码错误", "错误", MessageBoxButtons.OK);
}
wt.Hide();
}
------解决方案--------------------
wait窗体 与验证部分要使用不同线程,不然就被阻塞了。
可以将验证部分单独设置一个后台线程,完成后返回callback,将wait窗体关掉。