基本上是一个静态登录表单。我创建了一个进度条(progressBar1),然后在2个文本框中输入文本(一个用于id,一个用于密码)。 ID和密码是硬编码的,即id =" admin"和密码=" admin"。我想要的是,当我按下一个按钮(按钮1)时,进度条应该开始5秒,对于以下两种情况:如果输入的ID和密码是正确的,那么当进度条达到最大值时它应该显示另一个表格,否则就是messageBOX应该说进度条达到最大长度后输入的信息不正确
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "admin" && textBox2.Text == "admin")
{
form2 f2 = new form();
this.Hide();
f2.Show();
}
}
现在,请帮助我如何执行该代码,因为我已经浪费了10个小时的尝试。
答案 0 :(得分:1)
您可以使用计时器来增加进度条。 假设您的表单的构造函数名为Form1。
private Timer m_Timer;
private Form1() { // constructor
m_Timer = new Timer(500); // updates progressbar every 500 ms
progressBar1.Maximum = 5000; // MaxValue is reached after 5000ms
m_Timer.Elapsed += async (s, e) => await mTimerTick();
}
private async Task mTimerTick() {
progressBar1.Value += m_Timer.Interval;
if (progressBar1.Value >= progressBar1.Maximum) {
m_Timer.Stop();
this.Hide();
var f2 = new Form();
f2.Show();
}
}
您可以通过按钮1的点击事件调用
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "admin" && textBox2.Text == "admin")
{
m_Timer.Start();
}
}
我没有在编译器上测试过这段代码,但它应该让你知道该怎么做