相當新的DevExpress的,我公司使用的是9.3WaitDialogForm.ShowDialog()不處理其他代碼
卡住我有這個代碼非常小片斷:
wait = new DevExpress.Utils.WaitDialogForm("Please wait...", "Performing SVN check");
wait.Visible = false;
wait.ShowDialog();
ParseSVNResults(CheckSVN());
wait.Close();
我WaitDialog顯示器,但代碼永遠不會繼續。我在ParseSVNResults上放置了一個斷點,當我運行代碼時,它會到達該行。
它正常工作,如果我只是調用Show()而不是ShowDialog(),但是如果用戶在等待窗體外單擊時會導致不良行爲。應用程序「白掉」就像停止響應,鼠標變成了那個小旋轉圖標。對話框窗體顯示的小時玻璃也不旋轉。愚蠢的小細節,但它看起來像整個應用程序崩潰的最終用戶。
這就是我們所說的[通過模式同步](http://thedailywtf.com/Articles/Synchronization-by-Modal.aspx),也稱爲'支持Modal的同步信號量',或** MESS ** 。 –