問題タブ [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.

0 投票する
4 に答える
9979 参照

wpf - ShowDialog() はいつ null を返しますか?

WPF のWindow.ShowDialogメソッドは、null 許容のブール値を返します。そうCommonDialog.ShowDialogです。

これで、これらが false を返す場合 (ユーザーが [キャンセル] をクリックするか、Esc を押した場合) と、true を返す場合 (コードWindow.DialogResultが true に設定され、おそらく [OK] がクリックされたことに応答して) を理解できました。でもヌル?

私が最初に考えたのは、タイトル バーの [閉じる] ボタンをクリックすると null が返される可能性があるということです。しかし、ドキュメントには、タイトルバーの [閉じる] ボタンが Cancel として扱われることが記載されています(テストで確認しました) 。

では、いつnull を返すのでしょうWindow.ShowDialogか?CommonDialog.ShowDialog

0 投票する
2 に答える
5570 参照

wpf - WPF ShowDialog は、2 回目の呼び出しですぐに null を返します

これは WPF フレームワークのバグだと思います。プログラムの詳細や、自分がしていることを行っている理由には触れずに、自分の理論を証明する簡単なテスト アプリケーションを作成しました。

この問題は確認できますか? アプリケーションを実行ループに入れる前に一連のダイアログを実行するには、どのような回避策がありますか?

アップデート:

確かに、この動作に対応するようにデザインを変更できます。しかし、私がやろうとしていたことは本当に簡単でした。

MyApplicationから派生しましApplicationた。でMain()、一連の開始チェックを開始します。たとえば、ライセンス情報、スプラッシュ スクリーン、接続および構成のチェックなどです。すべてがクリアになったら、 に電話しますMyApplicatiom.Run(MyMainForm)

この設計は、問題なく動作する通常の Windows アプリケーションに基づいています。

ご協力いただきありがとうございます。シャットダウンを初期化するだけなので、ShowDialog()以前に電話することはできません。ただし、シャットダウン シーケンスは命令application.Run()の後にのみ開始する必要があると考えていました。App.Run()

私がこれを間違って理解している場合は、私を修正してください。

0 投票する
3 に答える
4179 参照

wpf - WPF ShowDialog と ElementHost

ElementHost の子である WPF ユーザー コントロールからモーダル ウィンドウを表示し、モーダル ウィンドウの所有者/親を含むフォーム コントロールに設定することは可能ですか?

Owner プロパティは Window のインスタンスを取得するため、古い Windows フォーム フォーム コントロールである Element Host コントロールの親に設定する必要があるため、これを行うことはできないと思います。回避策または代替アプローチがあるかどうか疑問に思っています。

問題は、モーダル ウィンドウが表示されているときにユーザーが別のアプリケーションに切り替えた後、再び戻ると、モーダル ウィンドウが非表示になり、ユーザーがメイン ウィンドウを操作できないことです。これは、所有者/親の関係が設定されていないため、ウィンドウが表示されていない場合でも、モーダル ウィンドウがまだ表示されていると Windows が認識しているためです。

乾杯、ジェームズ。

0 投票する
1 に答える
110664 参照

windows - QTでメインウィンドウから別のウィンドウを表示する方法

プラットフォーム: QT、Windows XP

私はQtが初めてです。から別のウィンドウ(ダイアログとして開くにはどうすればよいか)を表示したいmainwindow。私は " add New Item ->Qt Designer Form Class" を実行し、それを say と名付けましたMyWindow。しかし、これMyWindowをどのように表示するのmainwindowですか?

0 投票する
3 に答える
4603 参照

c# - WPF - ShowDialog を強制的に返す

ShowDialogバックグラウンド スレッドから強制的に戻るにはどうすればよいですか?

フレームワークによって送信されたメッセージをリッスンしている C++/CLR フレームワークの上に構築された WPF アプリケーションがあります。1 つの特定のメッセージが非常に重要であるため、現在のウィンドウをすべて閉じる必要があります。Dialogただし、 (メイン ウィンドウから作成された) モーダルShowDialogがアクティブで、ユーザーの入力を待っている場合、ウィンドウはShowDialog戻るのを待っているため、閉じません。Dialogモーダルを強制的に閉じてコード実行を巻き戻すにはどうすればよいですか?

DialogResultまたは を設定しようとしましたCloseが、うまくいかないようです。

編集:次のDialogように、戻り値を期待するメインウィンドウによって作成されます:(のクリックイベントハンドラー内MainWindow):

フレームワークがメッセージを送信する (UI スレッドとは別のスレッドで受信する) ときは、 を呼び出しますMainWindow.Close()。この時点でモーダル ダイアログは閉じられますが、Dialog(after ShowDialog) の戻り値をチェックするコードはまだスタックにあります。どういうわけか、これによりメインウィンドウが消えなくなります。

0 投票する
3 に答える
1550 参照

c# - ShowDialog()は、ShowDialog()からも別のフォームを表示できますが、両方を閉じますか?

私は次の状況にあります:

  1. ParentFormWelcomeFormで開きますShowDialog
  2. WelcomeFormで開くボタンが含まれていNewProjectFormますShowDialog
  3. ユーザーがを押すOKNewProjectForm、新しいプロジェクトが作成され、両方のフォームが閉じられます(正常な動作)
  4. ユーザーがを押すCANCELNewProjectForm、両方のフォームが閉じられます(理解できる動作ですが、望ましくありません)。

私はこれがどういうわけか関係があると思いますDialogResult(これは実際にDialogResult.NoneオンになっていCANCEL NewProjectForm

両方のフォームを閉じずに上記の状況を取得するにはどうすればよいですか?


開くために使用されるコードの編集NewProjectForm

開くために使用されるコードWelcomeForm

注:によって開かれるのNewProjectFormではなくWelcome、によって開かれるParentForm


2つの奇妙なものを編集します。同じコード/状況で新しいプロジェクトを作成しましたが、この動作は再現されません...

0 投票する
1 に答える
251 参照

vb.net - フォームを呼び出したフォームに設定値を戻す

これは私が持っているものです。

frmSettingsは、form1(Me)の背景色を選択できる設定フォームです。しかし、form1プロパティにアクセスして背景色を変更することはできません。

0 投票する
2 に答える
5320 参照

wpf - WPF: ShowDialog メソッドで開かれたウィンドウで手動で Close を呼び出す必要がありますか?

問題は、WPF ウィンドウが IDisposable インターフェイスを実装していないため、ShowDialog() を呼び出して開いたときに手動で破棄する必要がないことですが、この MSDN ページの最初のコメントには別の記述があります。何が真実か分かる人いますか?

0 投票する
1 に答える
440 参照

c# - 別のカスタム ダイアログの上にダイアログを保存すると、奇妙な動作が発生します。

アプリケーションのチャートに画像として保存する機能があります。チャート コントロールは、カスタム ロジックを含むカスタム ユーザー コントロールです。また、サイズ、ズームなどに基づくスケーリングもあります。ただし、画像として保存するときに、ユーザーに画像のサイズを設定するオプションを提供したいと思います (例: 800x600 px @ 300 DPI)。

これを行うために、画像のさまざまな設定用にテキストボックス/チェックボックスなどを含むフォームを作成しました。これらの TextBox の 1 つはファイル名用です。ファイル名のテキストボックスは読み取り専用で、クリックすると SaveFileDialog を表示する参照ボタンが付いています。

ユーザーは、メイン フォームのメニューで [画像として保存] をクリックします。以下のコードを使用して ImageExportDialog を表示します。

ImageExportDialog で、ユーザーが参照ボタンをクリックすると、SaveFileDialog が次のように表示されます。

ここでの問題は、ユーザーが SaveFileDialog の [保存] ボタンをクリックすると、予想どおり txtFileName.Text が設定されますが、親カスタム ダイアログも ShowDialog メソッドから返されるようで、DialogResult は次のものと同じです。 SaveFileDialog! 次に、コントロールは、上記のコードの「ユーザーが選択した設定を取得し、画像を生成する」部分に進みます。

ここで何が間違っているのかよくわかりません!

0 投票する
2 に答える
2551 参照

winforms - Compact Framework:フォームが表示された後にダイアログを表示してコードを実行する

.NET Compact Framework、C#、. Net 3.5、Visual Studio2008での作業。同じプロジェクトのWindowsMo​​bileデバイスとCEデバイスをターゲットにします(これはCEアプリであり、両方のタイプのデバイスで実行されます)。

ShowDialogを使用して表示する必要のあるフォームがあります。フォーム自体は、「読み込み中...」というメッセージが表示された空白の画面です。フォームが画面に表示されたら、同じスレッドで別のコードチャンクを実行して、ShowDialogを使用して別のフォームをポップアップする必要があります。これにより、「ロード中」画面が新しい画面の親になります。

このシナリオが間違っているとか、showdialogを使用すべきではないと言わないでください。私たちはチームとしてそれを経験してきましたが、これは他の多くの問題を解決するため、アプリを作成する方法です。

...ただし、このシナリオの問題は、コンパクトなフレームワークでもShowedが表示されないことです。そのため、このイベントにコードを入れてこれを行うという通常のトリックを実行することはできません。

他の人はコンパクトなフレームワークでこのニーズをどのように解決しますか?それが役に立ったら、私はOpenNetCFライブラリを持っています...そこに役立つものはありますか?