2011-06-29 9 views
2

私は、このタイトルはあまり言いませんが、ほんの少しの言葉でほしいと思うものを説明するのは本当に心のこもったことを知っています。新しいフォームの問題C#

私は2つのフォーム(メイン&ヘルプ)を持っています。メインフォームのボタンを押すとポップアップが表示されます。私が実装したいのは、ヘルプフォームを閉じるまでユーザーがメインフォーム上で何かをやることをブロックする機能です。

私は目に見えるコントロールで再生したくないですが、ユーザーがメインフォームのヘルプフォーム "blinks"をクリックしてエラーサウンドを再生しようとすると、いくつかのプログラムで見たような効果があります。ユーザー近いヘルプ形式のプログラムは通常どおりに動作したら

は、あなたが、私はこれは、モーダルダイアログと呼ばれ、幸いにも、答えは簡単です

答えて

7

を何を意味するのか理解してほしいです。 Showを使用する代わりに、の子をShowDialogメソッドで表示してください。これは、子フォーム/ダイアログが閉じるまで返されないブロッキング呼び出しです。したがって、そのコード行の直後に必要な場合は、戻り値とプロパティを確認できます(おそらくヘルプウィンドウでは役に立ちませんが、ほとんどの場合、ユーザーの操作を確認すると便利です)。

using(var dlg = new MyHelpDialog()) 
{ 
    if(dlg.ShowDialog() == DialogResult.OK) 
    { 
     // user chose "OK", do something (?) 
     // you can also access properties of the form after the fact 
     string whatever = dlg.SomeStringProperty; 
    } 
} 
+0

wooow、その答えはとても簡単だったそれは形を助けていないthxxx – Anthony

+0

を信じることはできません(私はちょうどので、それを命名します)結果をファイルに保存して読み込む予定でしたが、これははるかに優れています – Anthony