相当新的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 ** 。 –