我在應用程序的WinForm.in中有一個標籤,我爲 創建了一個線程來設置標籤的Text屬性。 因爲負責制定 標籤的Text屬性的代碼是另一個線程,我寫的是這樣的:爲什麼我的代碼設置標籤文本有時不能正確調用?
private void SetLabel8Text(string text)
{
try
{
if (this.label8.InvokeRequired)
{
SetTextCallback d = new SetTextCallback(SetLabel8Text);
this.Invoke(d, new object[] { text });
}
else
{
this.label8.Text = text;
}
}
catch (Exception ex)
{
}
}
現在,我還處理KeyPress事件,像這樣:
if (e.KeyChar.ToString() == "\r")
{
SetLabel8Text("Enter key Pressed !");
}
的我面臨的問題是,在按下Enter鍵(KeyPress事件執行 )之後,SetLabel8Text方法永遠不會被執行。
一切似乎很好地流動, 我嘗試逐步執行代碼,並在這個地方掛(該SetLabe8Text方法中:
this.Invoke(d,新的對象[] {文本});
它掛起,不往前走一點
你可能會得到更好的答案與更具描述性的標題。 – driis 2009-06-09 18:29:18
寫了更多描述性標題。 – 2009-06-09 18:33:18