【发布时间】:2012-11-27 12:29:38
【问题描述】:
我正在详细解释我的问题。我在 Windows 主窗体中有一个 dataGridView。我有一个计时器,它在单击 button1 时启动。并在单击 button2 时停止。
与此同时,我正在计算一些东西并将其放入dataGridView。这是动态计算。在这个计算中,我使用了一个线程。 (我在线程中绝对是新手)。我使用Thread.Sleep(100) 来计算数据。现在我在一个循环中使用 Thread.Sleep 来计算连续事物的数据。我希望保持各自的计算顺序。在循环的每次迭代之后,我使用dataGridView.Rows.AddRange(DataGridViewRow) 添加新行并计算出新数据。
但我没有按顺序获取 dataGridView 中的数据,而且它也没有正确显示。它会在某个时候被消隐并随机出现。
P.S - 每次定时器间隔结束时我都会清除数据。
【问题讨论】:
-
我用过
System.Windows.Forms.Timer我用过Thread.Sleep(100)。在此期间,一些数据被收集然后计算。然后我使用dataGridView.Rows.AddRange(DataGridViewRow)将数据添加到 UI。我使用 ThreadSafe 方法通过 InovokeRequired 添加这些方法。我使用了计时器(2000)间隔。现在它给出了正确的结果。没问题。谢谢。
标签: c# .net multithreading timer