簡體   English   中英

C#計時器自動啟動

[英]C# timer starts automatically

我不知道為什么我的計時器會自動啟動。 也許有人可以幫忙嗎?

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();
    }           
}

如果設計者將Timer.Enabled屬性設置為true,則可能導致這種情況:

將Enabled設置為true與調用Start相同 ,而將Enabled設置為false與調用Stop相同。

因此,請不要在設計器屬性中設置它(即,將其保留為False)。


注意:對於WinForms應用程序,將在適用的“ InitializeComponent”方法中初始化[sub]控件並設置屬性(根據設計者)。 可以通過查看<form> .Designer.cs文件來驗證。

計時器的“已Enabled屬性指示其當前是否正在運行。

由於在設計器中將該屬性設置為True ,因此計時器會在運行狀態下啟動。 只需將其設置為False ,即可開始停止。

@GrawCube提供的示例圖像:

財產箱

由於使用的是Winforms計時器,因此需要將其初始狀態設置為Disabled,否則它將立即開始計時。

請參閱: https : //msdn.microsoft.com/zh-cn/library/system.windows.forms.timer.enabled(v=vs.110).aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM