我尝试使用我的登录表单登录。我有一个按钮,一个计时器控件和一个进度条控件。在表单加载时,我的进度条控件的可见性设置为false。
这是我登录按钮的代码。
SqlDataReader reader = new loginUserOP().userLogin(txtUserID.Text, txtpwd.Text);
if (reader.HasRows)
{
while (reader.Read())
{
myPbar01.Visible = true;
myTimer01.Enabled = true;
LoggedUserInfo.lguserfname = (String)reader[0];
}
this.DialogResult = DialogResult.OK;
reader.Close();
//MessageBox.Show("Logged in as " + LoggedUserInfo.lguserfname + "\n user ID is :" + LoggedUserInfo.lguserid);
}
else
{
myTimer01.Enabled = false;
MessageBox.Show("Invalid username or password \n Please enter a valid userid and a password. ", "Incorrect Credentials");
txtUserID.Text = "";
txtpwd.Text = "";
}
这是我的计时器刻度事件代码。
private void myTimer01_Tick(object sender, EventArgs e)
{
myPbar01.Value = Convert.ToInt32(myPbar01.Value) + 10;
if(Convert.ToInt32(myPbar01.Value)==100)
{
myTimer01.Stop();
txtUserID.Text = "";
txtpwd.Text = "";
}
}
以下是我在登录成功后打开frmMain的方式。 这是我的Program.cs文件的代码。
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
using (var login = new frmLogin())
{
if (login.ShowDialog() != DialogResult.OK) return;
}
Application.Run(new frmMainAdmin());
}
在我的计时器属性中,我将Enabled设置为true,间隔设置为1000。
我遇到的问题是,有时我输入用户名和密码后输入用户名,而我输入密码时我的用户名和密码被清除,它关闭登录表单之前进度条完成,甚至在它出现之前。怎么解决这个?我在这里做错了什么?