我就是做登陆的时候,当点击确定,label显示“正在验证用户名密码....",然后程序判断是否正确,如果正确了,则label变成"验证成功",然后弹出主界面mainfrm。如果是错误,则label显示“验证失败.”
最开始我没有使用Timer控件 就是事件里面写。
private void btn_Yes_Click(object sender, EventArgs e)
{
this.lb_Msg.Text = "正在验证....";
timer1.Enabled = true; Land(this.tb_Userid.Text.ToString(), tb_Pwd.Text.ToString());//验证用户名密码
} private void Land(string userid,string pwd)
{
if (IsExistUser(userid))
{
if (JudgePwd(userid, pwd))
{
lb_Msg.Text = "验证成功。";
frm.Show();
this.Hide();
}结果lable直接不显示郁闷啊。 后来我就加了个timer控件,用timer控件来调用验证的方法。"正在验证.."显示出来了。但是“验证成功”还是不显示。
最开始我没有使用Timer控件 就是事件里面写。
private void btn_Yes_Click(object sender, EventArgs e)
{
this.lb_Msg.Text = "正在验证....";
timer1.Enabled = true; Land(this.tb_Userid.Text.ToString(), tb_Pwd.Text.ToString());//验证用户名密码
} private void Land(string userid,string pwd)
{
if (IsExistUser(userid))
{
if (JudgePwd(userid, pwd))
{
lb_Msg.Text = "验证成功。";
frm.Show();
this.Hide();
}结果lable直接不显示郁闷啊。 后来我就加了个timer控件,用timer控件来调用验证的方法。"正在验证.."显示出来了。但是“验证成功”还是不显示。
Application.DoEvents();
else
{
lb_Msg.Text = "验证失败。";
Application.DoEvents();
if (MessageBox.Show("对不起,您的密码输入有误!", "密码错误", MessageBoxButtons.OK, MessageBoxIcon.Error) == DialogResult.OK)
{
this.tb_Pwd.Clear();
this.tb_Pwd.Focus();
}
}
{
public FrmLogin()
{
InitializeComponent(); this.timer1.Enabled = false;
this.timer1.Interval = 1000;
} private void btnOK_Click(object sender, EventArgs e)
{
this.lblState.Text = "正在验证...";
this.timer1.Enabled = true;
} private bool Validate()
{
if(this.txtLoginName.Text == "123")
{
return true;
}
else
{
return false;
}
} private void timer1_Tick(object sender, EventArgs e)
{
this.timer1.Enabled = false;
if (this.Validate())
{
this.lblState.Text = "验证通过";
}
else
{
this.lblState.Text = "验证失败";
}
}
}
这个当然设置了啊。主要是我在点了登陆验证成功之后,弄了一个渐渐加载界面的效果。在主界面又用了个timer。
if (IsExistUser(userid))
{
if (JudgePwd(userid, pwd))
{
frm.timer1.Interval = 1;
frm.timer1.Start();
frm.Show();
lb_Msg.Text = "验证成功。";
Application.DoEvents();
this.Hide();
}估计是这个问题。我走断点看了下,frm主界面show了之后,程序就在主界面的timer的事件中开始走了,然后渐渐加载界面的效果出来。怎么调整一下呢?是不是需要多线程?我不会用多线程? 现在这种情况太慢了。