FormとDialog [コントロール]

----------------------------------------------------------
(開発・実行環境)

Microsoft Visual Studio 2005 Tools for Applications

Microsoft Visual Basic 2005

----------------------------------------------------------

 プロジェクトに新しい項目を追加する画面には、Windowsフォームとダイアログがありますが、

大元は同じもののようですね。

ダイアログの方は初めからDialogとして使いやすい(?) ような設定がされているようですが、

なんにしてもあのボタンをそのまま流用しにくい。。

 

てことで結局WindowsフォームからDialog作るんだよねw

 

唯一つ注意が。

今回、DialogがActiveなときにEscキーで呼び出し元に戻るように、FormのCancelButtonプロパティに、

「戻る」ボタンを設定しておいたんです(これでEscキーで画面を閉じれます) 。

 

これを当初の仕様と少し変えたんです。

 「戻る」ボタン押下時に「戻ってよいか?」メッセージを出すことにしたので、当然Escキーでの画面Close処理は不要となり、

CancelButtonプロパティから「戻る」ボタンを外したんです。

 

でも。。

「戻ってよいか?」メッセージ で「いいえ」を選択しても画面が閉じてしまう!!

 

頑張って探してやっとわかった。

一度CancelButtonプロパティに設定したButtonコントロールは、DialogResultプロパティが勝手にCancelになってしまうみたい。

CancelButton プロパティから外してもそのまま残るため、そのボタンを押すと、Clickイベントを抜けた後に画面を閉じてしまう。。

 

試してないから確かなことは言えないが、AcceptButtonプロパティも多分同様の挙動を示すんだろうな。

不毛な時間を過ごすから、注意しないといけませんね。


nice!(0)  コメント(1)  トラックバック(0) 

nice! 0

コメント 1

hatasho

同じことで悩んでいたので、本当に助かりました。
ありがとうございました。
by hatasho (2011-12-21 16:38) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。