問題タブ [showdialog]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wpf - ShowDialog() はいつ null を返しますか?
WPF のWindow.ShowDialog
メソッドは、null 許容のブール値を返します。そうCommonDialog.ShowDialog
です。
これで、これらが false を返す場合 (ユーザーが [キャンセル] をクリックするか、Esc を押した場合) と、true を返す場合 (コードWindow.DialogResult
が true に設定され、おそらく [OK] がクリックされたことに応答して) を理解できました。でもヌル?
私が最初に考えたのは、タイトル バーの [閉じる] ボタンをクリックすると null が返される可能性があるということです。しかし、ドキュメントには、タイトルバーの [閉じる] ボタンが Cancel として扱われることが記載されています(テストで確認しました) 。
では、いつnull を返すのでしょうWindow.ShowDialog
か?CommonDialog.ShowDialog
wpf - WPF ShowDialog は、2 回目の呼び出しですぐに null を返します
これは WPF フレームワークのバグだと思います。プログラムの詳細や、自分がしていることを行っている理由には触れずに、自分の理論を証明する簡単なテスト アプリケーションを作成しました。
この問題は確認できますか? アプリケーションを実行ループに入れる前に一連のダイアログを実行するには、どのような回避策がありますか?
アップデート:
確かに、この動作に対応するようにデザインを変更できます。しかし、私がやろうとしていたことは本当に簡単でした。
MyApplication
から派生しましApplication
た。でMain()
、一連の開始チェックを開始します。たとえば、ライセンス情報、スプラッシュ スクリーン、接続および構成のチェックなどです。すべてがクリアになったら、 に電話しますMyApplicatiom.Run(MyMainForm)
。
この設計は、問題なく動作する通常の Windows アプリケーションに基づいています。
ご協力いただきありがとうございます。シャットダウンを初期化するだけなので、ShowDialog()
以前に電話することはできません。ただし、シャットダウン シーケンスは命令application.Run()
の後にのみ開始する必要があると考えていました。App.Run()
私がこれを間違って理解している場合は、私を修正してください。
wpf - WPF ShowDialog と ElementHost
ElementHost の子である WPF ユーザー コントロールからモーダル ウィンドウを表示し、モーダル ウィンドウの所有者/親を含むフォーム コントロールに設定することは可能ですか?
Owner プロパティは Window のインスタンスを取得するため、古い Windows フォーム フォーム コントロールである Element Host コントロールの親に設定する必要があるため、これを行うことはできないと思います。回避策または代替アプローチがあるかどうか疑問に思っています。
問題は、モーダル ウィンドウが表示されているときにユーザーが別のアプリケーションに切り替えた後、再び戻ると、モーダル ウィンドウが非表示になり、ユーザーがメイン ウィンドウを操作できないことです。これは、所有者/親の関係が設定されていないため、ウィンドウが表示されていない場合でも、モーダル ウィンドウがまだ表示されていると Windows が認識しているためです。
乾杯、ジェームズ。
windows - QTでメインウィンドウから別のウィンドウを表示する方法
プラットフォーム: QT、Windows XP
私はQtが初めてです。から別のウィンドウ(ダイアログとして開くにはどうすればよいか)を表示したいmainwindow
。私は " add New Item ->Qt Designer Form Class
" を実行し、それを say と名付けましたMyWindow
。しかし、これMyWindow
をどのように表示するのmainwindow
ですか?
c# - WPF - ShowDialog を強制的に返す
ShowDialog
バックグラウンド スレッドから強制的に戻るにはどうすればよいですか?
フレームワークによって送信されたメッセージをリッスンしている C++/CLR フレームワークの上に構築された WPF アプリケーションがあります。1 つの特定のメッセージが非常に重要であるため、現在のウィンドウをすべて閉じる必要があります。Dialog
ただし、 (メイン ウィンドウから作成された) モーダルShowDialog
がアクティブで、ユーザーの入力を待っている場合、ウィンドウはShowDialog
戻るのを待っているため、閉じません。Dialog
モーダルを強制的に閉じてコード実行を巻き戻すにはどうすればよいですか?
DialogResult
または を設定しようとしましたClose
が、うまくいかないようです。
編集:次のDialog
ように、戻り値を期待するメインウィンドウによって作成されます:(のクリックイベントハンドラー内MainWindow
):
フレームワークがメッセージを送信する (UI スレッドとは別のスレッドで受信する) ときは、 を呼び出しますMainWindow.Close()
。この時点でモーダル ダイアログは閉じられますが、Dialog
(after ShowDialog
) の戻り値をチェックするコードはまだスタックにあります。どういうわけか、これによりメインウィンドウが消えなくなります。
c# - ShowDialog()は、ShowDialog()からも別のフォームを表示できますが、両方を閉じますか?
私は次の状況にあります:
ParentForm
WelcomeForm
で開きますShowDialog
。WelcomeForm
で開くボタンが含まれていNewProjectForm
ますShowDialog
- ユーザーがを押す
OK
とNewProjectForm
、新しいプロジェクトが作成され、両方のフォームが閉じられます(正常な動作) - ユーザーがを押す
CANCEL
とNewProjectForm
、両方のフォームが閉じられます(理解できる動作ですが、望ましくありません)。
私はこれがどういうわけか関係があると思いますDialogResult
(これは実際にDialogResult.None
オンになっていCANCEL
て NewProjectForm
)
両方のフォームを閉じずに上記の状況を取得するにはどうすればよいですか?
開くために使用されるコードの編集NewProjectForm
:
開くために使用されるコードWelcomeForm
:
注:によって開かれるのNewProjectForm
ではなくWelcome
、によって開かれるParentForm
2つの奇妙なものを編集します。同じコード/状況で新しいプロジェクトを作成しましたが、この動作は再現されません...
vb.net - フォームを呼び出したフォームに設定値を戻す
これは私が持っているものです。
frmSettingsは、form1(Me)の背景色を選択できる設定フォームです。しかし、form1プロパティにアクセスして背景色を変更することはできません。
wpf - WPF: ShowDialog メソッドで開かれたウィンドウで手動で Close を呼び出す必要がありますか?
問題は、WPF ウィンドウが IDisposable インターフェイスを実装していないため、ShowDialog() を呼び出して開いたときに手動で破棄する必要がないことですが、この MSDN ページの最初のコメントには別の記述があります。何が真実か分かる人いますか?
c# - 別のカスタム ダイアログの上にダイアログを保存すると、奇妙な動作が発生します。
アプリケーションのチャートに画像として保存する機能があります。チャート コントロールは、カスタム ロジックを含むカスタム ユーザー コントロールです。また、サイズ、ズームなどに基づくスケーリングもあります。ただし、画像として保存するときに、ユーザーに画像のサイズを設定するオプションを提供したいと思います (例: 800x600 px @ 300 DPI)。
これを行うために、画像のさまざまな設定用にテキストボックス/チェックボックスなどを含むフォームを作成しました。これらの TextBox の 1 つはファイル名用です。ファイル名のテキストボックスは読み取り専用で、クリックすると SaveFileDialog を表示する参照ボタンが付いています。
ユーザーは、メイン フォームのメニューで [画像として保存] をクリックします。以下のコードを使用して ImageExportDialog を表示します。
ImageExportDialog で、ユーザーが参照ボタンをクリックすると、SaveFileDialog が次のように表示されます。
ここでの問題は、ユーザーが SaveFileDialog の [保存] ボタンをクリックすると、予想どおり txtFileName.Text が設定されますが、親カスタム ダイアログも ShowDialog メソッドから返されるようで、DialogResult は次のものと同じです。 SaveFileDialog! 次に、コントロールは、上記のコードの「ユーザーが選択した設定を取得し、画像を生成する」部分に進みます。
ここで何が間違っているのかよくわかりません!
winforms - Compact Framework:フォームが表示された後にダイアログを表示してコードを実行する
.NET Compact Framework、C#、. Net 3.5、Visual Studio2008での作業。同じプロジェクトのWindowsMobileデバイスとCEデバイスをターゲットにします(これはCEアプリであり、両方のタイプのデバイスで実行されます)。
ShowDialogを使用して表示する必要のあるフォームがあります。フォーム自体は、「読み込み中...」というメッセージが表示された空白の画面です。フォームが画面に表示されたら、同じスレッドで別のコードチャンクを実行して、ShowDialogを使用して別のフォームをポップアップする必要があります。これにより、「ロード中」画面が新しい画面の親になります。
このシナリオが間違っているとか、showdialogを使用すべきではないと言わないでください。私たちはチームとしてそれを経験してきましたが、これは他の多くの問題を解決するため、アプリを作成する方法です。
...ただし、このシナリオの問題は、コンパクトなフレームワークでもShowedが表示されないことです。そのため、このイベントにコードを入れてこれを行うという通常のトリックを実行することはできません。
他の人はコンパクトなフレームワークでこのニーズをどのように解決しますか?それが役に立ったら、私はOpenNetCFライブラリを持っています...そこに役立つものはありますか?