問題タブ [dialogresult]
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.
c# - ダイアログボックスを閉じるためのユーザーコントロールボタン
アプリケーションに、テキストボックスと2つのボタンを持つユーザーコントロールを作成しました。1つのボタンは、テキストボックスからDBにデータを追加することであり、2番目のボタンはアクションをキャンセルします。次に、このユーザーコントロールは複数のダイアログ(フォーム)に追加されますが、ボタンで同じイベントをトリガーする必要があります。そのため、ボタンをダイアログではなくユーザーコントロールに配置しました。
私がやろうとしているのは、[データの追加]ボタンをクリックして成功した後、コントロールが配置されているダイアログを閉じることです。
編集:
ユーザーコントロールからトリガーされたときにダイアログを閉じるためにこれをコーディングする方法がわかりません。これまでユーザーコントロールを使用したことがないため、どこから始めればよいかわかりません。通常、私はダイアログにコントロールを持っているだけです。DialogResult = DialogResult.OK;
ありがとう
c# - DialogResultをテストし、フォールスルーロジックを提供するswitchステートメントをコーディングする方法
関数からの戻り値をテストすると、奇妙な結果が得られます。このコードはforループ内にあります。
呼び出された関数のスニペットを次に示します(単体テストでは、常に[はい]ボタンをクリックします)。
「はい」をクリックすると、DialogResult.Yesが返されますが、呼び出し元のコードに戻ると、実行は「いいえ」である2番目のケースに流れ、これは私が意図していない継続を行います。
StackOverflowの他の場所で、DialogResult.Yesのような「フォールスルー」ケースのコーディングを提案するスレッドを見ました。
つまり、YESの場合、switchcaseの終了後に次のステートメントで実行を再開したいと思います。つまり、「フォールスルー」です。
編集-混乱してすみません。はい、一番上のスニペットはforループの中にあります。2番目のスニペットは呼び出された関数内にあります(そのコードはMessageBox.Showを発行します)。
c# - DialogResult は、ウィンドウが作成されてダイアログとして表示された後にのみ設定できます
メインの WPF ウィンドウ mywindow.showDialog があり、ウィンドウでボタンをクリックするとコマンドが実行され、コマンドが SendToTableCommand であるとしましょう
少し前に、m_OwningWindow.DialogResult = true
例外をスローします。そこで、IsThreadModal を使用する if チェックを追加しました。しばらく動いていましたが、IsThreadModal が false のため、m_OwningWindow が閉じなくなりました。
問題を解決する正しい方法がわからず、適切に処理しなかったと思います。助けてください。前もって感謝します
c# - DialogResult を使用できません
anのYesNoCancelDialogResult
をチェックするために使用しようとしました。次のコードを使用していますが、問題はありません。Messagebox
しかし、Visual Studioは私に言うエラーをスローします
「System.Windows.Window.DialogResult」は「プロパティ」ですが、「タイプ」のように使用されます
visual-studio-2010 - メッセージボックスのフォームを閉じる回答の問題
このコードを使用して、メッセージボックスの特定の回答のフォームを閉じようとしています。に属していYes
ないというエラーが表示され続けます。私は基本的にこのコードをMSサイトから直接コピーしたので、何が問題なのかわかりません。ヘルプ?No
DialogResult::
wpf - ビューDialogResultをViewModelsプロパティにバインドしますか?
私は、WPF、XAML、およびデータバインディングに比較的慣れていません。ビュー(ウィンドウ)とビューモデルがあります。
ビューもビューモデルも相互に参照を保持しないことを意味するMVVMパターンを実装しようとしました。すべてのデータ交換は、データバインディングを介して行われます。
これまでのところ良いのですが、今は解決策が見つからない問題に遭遇しました。
私の見解では、コマンドにバインドされている[開始]ボタンがあります。
NextCommandのタイプはActionCommand : ICommand
私の場合、NextCommandはビューモデル内のプライベートメソッドを呼び出すだけです。
私が今のところ解決策を見つけることができない問題は次のとおりです。
ビューモデルのNextCommandActionメソッドの最後でウィンドウを閉じる方法は?
ビューへの参照がないため、設定することはできませんDialogResult = true;
これまでに見つけた唯一の解決策は、非表示のラジオボタンをビューに追加し、その値をプロパティCloseViewにバインドし、非表示のラジオのCheckedイベントにバインドされるxaml.csファイル内にメソッドCloseViewを作成することです。 -ボタン。そのメソッド内で、DialogResult=trueを設定しました。
これは機能しますが、ビューに非表示の要素を追加するよりも優れた解決策が必要だと思います。
c# - wpfのDialogResultの問題
ShowDialog として数回開くウィンドウがあります。
それを開くたびに、最初に new キーワードを使用します。
2 回目は MyWindow View Model クラスから開きます。
MyWindow のコード ビハインドには、2 つのイベントがあります。1 つはユーザーが OK をクリックしたとき、もう 1 つはユーザーがキャンセルをクリックしたときです。
イベントは、ウィンドウの「OK」および「キャンセル」ボタンにバインドするよりも、View Model クラスから ICommand Execute から発生します。
xaml では、キャンセル ボタンに対して次のようにしました。
そして、これはOKボタンの場合:
初めてウィンドウを開いたときにDialogResult = trueを設定できますが、その後DialogResultを設定しようとすると、「Dialofresultはウィンドウを作成してShwDialogとして表示した後にのみ設定できます」という例外が発生しました。
また、最初に true に設定された後に DialogResult が true であることも確認しました。例外の理由は、ウィンドウを閉じて new キーワードを使用して新しいウィンドウを作成した場合に true のままである理由がわかりません。 .
なにか提案を
前もって感謝します
編集: 問題は、「OK」ボタンをクリックすると、DialogResultがtrueに設定され、trueに設定され、falseに設定できないことです。
編集
みんなありがとう、私は問題を解決します。
問題は、View Model イベント (「OK」をクリックして「キャンセル」をクリック) に登録し、ユーザーが「キャンセル」をクリックしたときに登録を削除するが、「OK」をクリックしたときではないことでした...
c# - フォームを閉じないDialogResult?
モーダルフォームとしてForm1
表示するフォームがあります。Form2
私は、クローズ後Form2
に反映されるべきさまざまな値のセットのあらゆる種類の編集と削除を行います。だから私がすることは、閉じた後です。は長いプロセスなので、そのメソッドを実行したいのは、変更 (編集、追加、削除) が発生した場合のみであり、開いたり閉じたりしたときではありません。Form1
Form2
RePopulateControls_in_Form1()
Form2
RePopulateControls_in_Form1()
Form2
Form2
だから、これは私がやろうとしていることですForm1
:
そして Form2 では、
しかし、私の問題は.Something
. 以外の場合は.None
、Form2
単純に閉じます。Form2
ユーザーが閉じない限り、単純に閉じたくありません。
私がこれを行う場合:
RePopulateControls_in_Form1()
ヒットしません!
要するに、私のプログラムでは、RePopulateControls_in_Form1()
値が変更された場合にのみ呼び出すようにコンパイラに指示するにはどうすればよいForm2
ですか?
注: コントロールは動的に作成され、少し複雑であるため (実際にForm2
は、GUI コントロールとそのラベルなどで作成されます)、再設定が必要です。
winforms - VB6には、ダイアログのDialogResultに似たものがありますか?
「続行」および「キャンセル」というテキストのボタンが付いたVB6フォームがあります。どちらがクリックされたかを確認したい。C#では、すべてのフォームにダイアログ結果があり、クリックされたボタンに応じて、フォームを終了する前に設定できます。これはVB6では見られません。
ダイアログの結果はありますか?そうでない場合、ダイアログの結果を確認するためのベストプラクティスは何ですか?
c# - MessageBox.Show() でタイマー ベースのプログラムを一時停止します。
MessageBox.Show イベントがあり、MessageBox が開いている間にタイマーベースのメソッドが実行されないようにしたいです。
これが私のコードです(ネットワーク上のファイルの場所の値をx分ごとに変更します):
30 秒ごとにこれを呼び出すフォームのメソッドがあります。つまり、30 秒ごとに別の MessageBox がポップアップします。MessageBox でアプリケーションを一時停止する方法はありますか? そうでない場合、この問題を解決する最善の方法は何でしょうか? 可能であれば、タイマーカウントをリセットするため、Timer.Stop() の使用は避けたいと思います。