一个主窗体,一个按钮,一个LABEL
点按钮,建立一个线程,将当前时间在主窗体的label 显示。用thread 或 backgroundworker另外,如果要操作主窗体或一个DATATABLE,上边两个方法那个好?

解决方案 »

  1.   

    如果是WinForm,最简单的方法当然是CheckForIllegalCrossThreadCalls = false;
    但不提倡。
    还是建议用委托
      

  2.   

    用委托
    http://www.cnblogs.com/dafozhang/archive/2011/12/31/2308811.html
      

  3.   

    [线程] 分别用Invoke与BackgroundWorker实现计时器链接里的应该可以参考一下,是常见的2种在线程中更新UI的方法示例:Invoke与BackgroundWorker
      

  4.   

            private void button1_Click(object sender, EventArgs e)
            {
                Thread thread = new Thread(new ThreadStart(ThreadTest));
                thread.Start();
            }        private void ThreadTest()
            {
                UpdateTimeHandler ut = new UpdateTimeHandler(UpdateTime);
                this.Invoke(ut, DateTime.Now);
            }        private void UpdateTime(DateTime dt)
            {
                this.label1.Text = dt.ToString();
            }        private delegate void UpdateTimeHandler(DateTime dt);