間隔が指定されているdbエントリが必要です。
1 つのタイマー tm_5 が 5 分ごとにエントリをチェックし、タイマー tm_10 がチェックするとします。
10分ごとのエントリ、
問題は、tm_10 ではなく tm_5 のエントリのみをチェックすることです。
C#.net 2005 と MS SQL Server 2005 を使用しています。
これを試してください (TimerTester という名前のフォームに label1 と label2 を追加してください)。
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();
}
}
また、Threads.Timer ではなく Forms.Timer を使用する必要があることにも注意してください (または InvokeRequired を使用し、それが意味することを読んで理解してください)。
このコードが機能するように、UI スレッドでラベルのテキストを変更する必要があります。ヘルプについては、Control.Invoke および Control.InvokeRequired を参照してください。