我不得不在其中的間隔給出一個分貝條目不同的時間間隔,兩個以上的定時器與C#
假設1個計時器每隔5分鐘&定時器後tm_5將檢查條目tm_10將檢查
每10分鐘後的條目,
問題是,它只檢查tm_5的條目而不是tm_10。
我使用C#.NET 2005 & MS SQL Server 2005中
我不得不在其中的間隔給出一個分貝條目不同的時間間隔,兩個以上的定時器與C#
假設1個計時器每隔5分鐘&定時器後tm_5將檢查條目tm_10將檢查
每10分鐘後的條目,
問題是,它只檢查tm_5的條目而不是tm_10。
我使用C#.NET 2005 & MS SQL Server 2005中
試試這個(添加label1和label2,建立名爲TimerTester)。
public partial class TimerTester : Form
{
public TimerTester()
{
InitializeComponent();
}
Timer _t1;
Timer _t2;
int _it1 = 0, _it2 = 0;
private void Form1_Load(object sender, EventArgs e)
{
_t1 = new Timer() { Interval = 1000 };
_t1.Tick += new EventHandler(_t1_Tick);
_t2 = new Timer() { Interval = 2000 };
_t2.Tick += new EventHandler(_t2_Tick);
_t1.Start(); _t2.Start();
}
void _t1_Tick(object sender, EventArgs e)
{
label1.Text = "t1: " + (_it1++).ToString();
}
void _t2_Tick(object sender, EventArgs e)
{
label2.Text = "t2: " + (_it2++).ToString();
}
}
另外請注意,您應該使用Forms.Timer而不是Threads.Timer(或使用InvokeRequired和閱讀&明白它暗示)。
您應該更改UI線程中的標籤文本,以便此代碼可以正常工作。請參閱Control.Invoke和Control.InvokeRequired獲取幫助。
哪個標籤? _________ – 2010-03-15 10:02:29
我相信UI定時器控件在UI線程上運行。您的關注僅適用於單獨的線程。 UI定時器在UI線程上引發事件。 – BlueMonkMN 2010-03-15 11:04:32
@BlueMonkMN:我沒有看到他提到UI定時器是他的問題,上面的代碼也沒有提到。 – Ikaso 2010-03-15 11:23:58
你能提供代碼嗎?你是如何做到這一點的? – 2010-03-15 09:02:51
除非您提供更多信息,否則我們無法爲您提供幫助...... – Calanus 2010-03-15 09:02:52
什麼樣的定時器以及它們如何處理? – 2010-03-15 10:12:35