所以我在這裏有一個問題。我在我的類中聲明瞭一些變量,然後嘗試更改它,然後使用我的窗體窗體線程讀取它。該變量正在被讀取爲它所聲明的初始值,並且沒有任何東西可以改變它。例如:由另一個線程讀取變量 - 變量不會改變
我聲明在我的Class1.cs值:
public static int TestVar = 51;
然後我在同一類後的值更改爲例如45:
TestVar = 45;
然後我讀可變從我的Windows窗體線程是這樣的:
label1.Text = Class1.TestVar.ToString();
而我的窗體中的結果是51而不是45。如果我聲明爲0或沒有任何初始值,則無關緊要。它將保持爲0而不是。
它已被聲明的類它讀取變量罰款爲45,不知何故另一個線程沒有更新。
Windows窗體正在運行使用:
public void RunThread()
{
Thread thread = new Thread(new ThreadStart(RunForm));
thread.Name = "NewForm";
thread.Start();
}
public void RunForm()
{
Application.Run(new NewForm());
}
任何幫助嗎?
你能對這個問題再加上工作樣本? – Nenad
您需要發佈更多代碼。我將把一美元放在「你也有一個名爲TestVar的局部變量」上。 –
對不起,這個問題是一個更大的應用程序的一部分。不,我沒有局部變量。我試着用全新的變量來開始。有趣的是,當我使用聲明變量的線程顯示窗體窗體時,它工作正常。當我從另一個不同的線程啓動它時 - 它回到初始狀態。 – FrozenHaxor