逗人,我收到错误消息时,波纹管我尝试调用排序方法:跨线程操作无效
错误消息:跨线程操作无效:控制“lbStart_Bubble”从其他线程访问而不是它创建的线程。
什么在这里做得不正确!?
Thread thBubble = new Thread(new ThreadStart(bubbleSort));
thBubble.Start();
public void bubbleSort()
{
int row = 0, column = 0;
start = new TimeSpan(System.DateTime.Now.Ticks);
lbStart_Bubble.Text = start.ToString();
this.lbStart_Bubble.Refresh();
for(row = 1; row <= list1.Length; row++)
{
for(column =0; column < list1.Length-1; column++)
{
Thread.Sleep(delay);
tbResult_Bubble.Clear();
for(int i=0; i<list1.Length; i++)
tbResult_Bubble.AppendText(list1[i] + " ");
if(list1[column]>list1[column+1])
swap(list1[column], list1[column+1], column, column+1);
}
display(list1);
}
end = new TimeSpan(System.DateTime.Now.Ticks);
lbEnd_Bubble.Text = end.ToString();
lbTotal_Bubble.Text = end.Subtract(start).ToString();
tbResult_Bubble.Clear();
for(int i=0; i<list1.Length; i++)
tbResult_Bubble.AppendText(list1[i] + " ");
}
您应该用正在使用的语言标记问题。看起来像Java? – 2011-03-09 12:58:31
经过猜测:) – 2011-03-09 13:03:22
我会下次再见。 – Gogolo 2011-03-09 13:04:47