0

我必须有一个 db 条目,其中给出了间隔,

假设 1 个计时器 tm_5 将每 5 分钟检查一次条目,而计时器 tm_10 将检查

每10分钟后的条目,

问题是它只检查 tm_5 的条目而不是 tm_10 的条目。

我正在使用 C#.net 2005 和 MS sql server 2005。

4

2 回答 2

0

您应该在 UI 线程中更改标签的文本,以便此代码可以正常工作。请参阅 Control.Invoke 和 Control.InvokeRequired 以获得帮助。

于 2010-03-15T09:52:41.070 回答
0

试试这个(将 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 并阅读并理解它的含义)。

于 2010-03-15T09:18:20.107 回答