2 つのスレッドを持つ Winforms アプリに問題があります。2 番目のスレッドで、WCF サービスからメッセージを取得します。メッセージがある場合、GUI を更新する必要があります: ここで見つかったパターンに従ってこれを行いますC# の別のスレッドから GUI を更新する方法は? . コードは次のとおりです。
private delegate void CWU(int ID);
public void AddNewTab(int id)
{
if (this.tabControl1.InvokeRequired)
{
CWU cb = new CWU(AddNewTab);
this.tabControl1.Invoke(cb,id);
}
else
{
User ToChatWith = ContactsHelper.AllFriends.Find(e => e.ID == id);
tabpage.Text = ToChatWith.ToString();
this.tabControl1.TabPages.Add(tabpage);
this.tabControl1.SelectTab(tabpage);
}
タブが適切に追加され、このメソッドを終了するとアプリが応答せず、デバッグに情報がありません。このタブを追加した後にアプリを実行すると、詳細なしで AppHangB1 が表示されます。手伝って頂けますか?