メソッドC#の子スレッドは、メインスレッドを呼び出し、実行します

プライベートデリゲートのボイドCheckVersionNumber_CallBack(文字列str) ; // バージョン検出するためのデリゲートとして定義

//バージョンが検出さ
プライベート
無効 m_CheckVersionNumber(文字列strVersionNumber) { 試み { CheckVersionNumber_CallBackコールバック = 新しい新 CheckVersionNumber_CallBack(Thread_CheckVersionNumber_CallBack); // デリゲートの割り当て方法 スレッドを= TH 新しい新しいスレッド(m_Thread_CheckVersionNumber); th.IsBackground = trueに th.Start(コールバック); //は、子スレッドのデリゲートに送信すること } キャッチ(例外EX) { MessageBox.Show(" !エラー検出m_CheckVersionNumberバージョン" + StrVersionNumber + " " + ex.Message.ToString()); } }
 // 子线程执行
 プライベート ボイド m_Thread_CheckVersionNumber(オブジェクトOBJ)
 { 
            文字列 strVersionNumber = の.text。

            clsWebSubmit objPost = 新しいclsWebSubmit();
            文字列 strUrl = clsConfig.CheckVersionNumberUrl。
            文字列 strParam = " version_numberは= " + strVersionNumber。
            ストリング strResult = objPost.m_PostSubmit(strUrl、strParam)。

            Newtonsoft.Json.Linq.JObject jsonStr =Newtonsoft.Json.Linq.JObject.Parse(strResult)。
            文字列 STR = jsonStr [ " 結果" ] .ToString())(TRIM。//  

            CheckVersionNumber_CallBackコールバック = OBJ として CheckVersionNumber_CallBack。// 强转为委托
            コールバック(STR); 
 }
 // メインスレッド方法
 プライベート ボイド Thread_CheckVersionNumber_CallBack(文字列STR)
 { 
            IFこの .lstHttpEvent.InvokeRequired == trueに
            { 
                ReceiveMsgModelメッセージ = 新しい新しい ReceiveMsgModel(Thread_CheckVersionNumber_CallBack); //は、方法名呼び出し
                この .Invoke(MSG、新しい新しい オブジェクト [ ] STR {}); // バックフォームスレッドのスレッドを形成しない
            }
             
            { 
                IF(STR == " 偽の"//ない最新の状態に、最新の真
                { 
                    MessageBox.Show(新しいバージョンがリリースされた、タイムリーに更新をダウンロードしてください!);
                     この .lstHttpEvent.SelectTab(tabVersion ); 
                } 
            } 
}

 

おすすめ

転載: www.cnblogs.com/hailexuexi/p/11239032.html