|
■No100404 (furu さん) に返信 > Application.DoEventsを使う方法はわかっています。 メッセージループは Application.Run や Application.DoEvents の他、 モーダルダイアログによっても回りますね。使いやすいかというと微妙ですが…。
using(var dlg = new Form()) // [処理中]画面をモーダル表示することで待機させる { dlg.Opacity = 0; // [処理中]画面を隠す var navigationCompleted = default(EventHandler<Microsoft.Web.WebView2.Core.CoreWebView2NavigationCompletedEventArgs>); navigationCompleted = (sender, e) => { webView21.NavigationCompleted -= navigationCompleted; dlg.Close(); // 処理が完了したのでモーダル画面を閉じる }; webView21.NavigationCompleted += navigationCompleted; dlg.Shown += delegate { webView21.Source = new Uri(url); }; dlg.ShowDialog(this); // 内部で Application.RunDialog が呼ばれて待機される } return;
|