计时器值在进度条开始之前结束

时间:2015-01-26 14:57:14

标签: c# winforms timer

我尝试使用我的登录表单登录。我有一个按钮,一个计时器控件和一个进度条控件。在表单加载时,我的进度条控件的可见性设置为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。

我遇到的问题是,有时我输入用户名和密码后输入用户名,而我输入密码时我的用户名和密码被清除,它关闭登录表单之前进度条完成,甚至在它出现之前。怎么解决这个?我在这里做错了什么?

0 个答案:

没有答案