我已經創建了一個線程,其中我只是從窗體的左側移動一個單選按鈕。 這是運行,但我的應用程序被阻止,我無法移動表格,沒有任何東西(我認爲這是創建線程,同時做多件事的原因) 這是我的代碼,我希望你能理解我問了什麼。在此先感謝C#中的線程導致無限循環並阻止我的應用程序
private void moveRight()
{
radioButton1.Left++;
}
private void moveLeft()
{
radioButton1.Left--;
}
public void run()
{
while (true)
{
while (radioButton1.Left != this.ClientSize.Width - 10)
{
if (InvokeRequired)
{
Invoke(new MethodInvoker(moveRight));
}
else
{
moveRight();
}
}
while (radioButton1.Left != 10)
{
if (InvokeRequired)
{
Invoke(new MethodInvoker(moveLeft));
}
else
{
moveLeft();
}
}
}
}
private void button1_Click(object sender, EventArgs e)
{
t = new Thread(new ThreadStart(run));
t.Start();
}
謝謝你的回答,我用戶線程之前,但沒有與調用,所以我想如果我在一個線程中使用調用它將在線程中執行我調用 – patentul 2013-03-15 19:45:06