我不知道为什么我的计时器会自动启动。也许有人可以帮忙吗?
public int sek;
void TextBox1TextChanged(object sender, EventArgs e)
{
sek = sek+Convert.ToInt32(textBox1.Text);
}
void Button1Click(object sender, EventArgs e)
{
label2.Text = Convert.ToString(sek);
timer1.Start();
}
void Label2Click(object sender, EventArgs e)
{
}
void Timer1Tick(object sender, EventArgs e)
{
label2.Text = Convert.ToString(sek);
if (sek==0){
Console.Beep(1000 ,500);
MessageBox.Show("Times is out");
timer1.Stop();
}
}
答案 0 :(得分:5)
如果设计者将Timer.Enabled属性设置为true,则可能导致此问题:
将Enabled设置为true与调用Start 相同,而将Enabled设置为false与调用Stop相同。
所以不要在设计师属性中设置它 - 也就是说,保持False。
注意:对于WinForms应用程序,初始化[sub-]控件并在适用的“InitializeComponent”方法中设置属性(根据设计者)。这可以通过查看< form> .Designer.cs文件来验证。
答案 1 :(得分:4)
计时器的Enabled
属性指示其当前是否正在运行。
由于您在设计器中将该属性设置为True
,因此计时器将从运行状态开始。只需将其设置为False
即可开始停止。
@GrawCube提供的示例图片:
答案 2 :(得分:0)
由于您使用的是winforms计时器,您需要将其初始状态设置为禁用,否则它将立即开始计时。
请参阅:https://msdn.microsoft.com/en-us/library/system.windows.forms.timer.enabled(v=vs.110).aspx