- - PR -
フォームの【×】(閉じる)ボタンをクリックされたかを取得する方法
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-06-29 20:21
こんばんは、いつもお世話になっております。
VB.netなどで、Windowsフォームアプリケーションを開発する際に、右上に×(閉じる)があると思います。 ×(閉じる)ボタンが押されたときに、アプリケーションを終了しますか?と確認のメッセージを表示させたいのですが、ボタンのクリックイベントのように、×(閉じる)ボタンにもそのようなイベントはあるのでしょうか? 開発言語は、VS2003のVB.netです。よろしくお願いします。 | ||||
|
投稿日時: 2005-06-29 20:29
普通、FormのClosingイベントで処理します。
キャンセルは、e.Cancel=Trueでできます。 | ||||
|
投稿日時: 2005-06-29 20:48
catsさん回答ありがとうございます。
さきほど、FormのClosingイベントに、終了確認イベントを記述したら、me.closeを記述している箇所全てがClosingイベントにいってしまい、正常な処理後の終了のときも、確認メッセージがでるようになってしまいました。 できれば、×(閉じる)のみクリックされたことを取得したいのですが、方法はないでしょうか? よろしくお願いします。 | ||||
|
投稿日時: 2005-06-29 21:47
Senderって、なんのためにあるかご存じ?
_________________ | ||||
|
投稿日時: 2005-06-30 09:27
me.CloseでClosingが呼び出されたことが判るようにすればいいのでは? たとえば正常終了時フラグを用意しておくとか。 _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||
|
投稿日時: 2005-07-01 09:26
そもそも、[Alt] + [F4] も判別しないとダメなんでしょうか?
そうであれば、キーを判定するしかありません。 また、コンテキスト メニューからの閉じるも区別するのでしょうか? コード側からの判定であっても、フラグで判断できますが、 こんなちょっとお勧めできない方法もあります。 フォームが閉じられる原因を取得する _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2005-07-01 14:24
Jittaさん、Jubeiさん、じゃんぬねっとさん回答ありがとうございます。
jittaさん> Senderの意味はいままで理解していなかったです。調べてみたら、たしかにSendaerの情報を確認することで実現できそうでしたが、どのオブジェクトが対象になるかをしらべきれず断念しました^^; judeiさん> フラグで行えば楽にできるのですが、フラグを追加すると関係する箇所全てにその操作を追加する必要があるので、ソースが無駄に増える+わかりづらいと思うのでどうしてもできないときの最終手段しか使いたくないんです^^;アドバイスありがとうございます。 じゃんぬねっとさん> たしかに考えてみたらAlt+F4でもけせてしまうので、そのときも取得したいです。 紹介されたHPの方法でうまくいきそうです。ありがとうございます。 |
1