- - PR -
'閉じる'のキャンセル
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-03-06 17:03
こんにちわ、みかん@C#でWindowsアプリケーション作成中 です。
'閉じるボタン'クリック時に終了させず、最小化させたいと考えています。 現在、Form1_Closing()にて this.WindowState = FormWindowState.Minimized; e.Cancel = true; としています。 アプリケーションの終了(タスクトレイアイコンのコンテキストメニューにある)のときには、Closingが発生しない Application.Exit() を呼んでいます。 しかしこの方法だと、ログオフやWindowsの終了のときにもキャンセルされてしまい、うまく終了してくれないようです。 タスクバーで右クリック→「閉じる(C) Alt+F4」でも同様ですが、これはそもそも閉じるボタンと同じなんでしたっけ。 VB6のときには、 Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) If UnloadMode = vbFormControlMenu Then Cancel = Not 0 End If End Sub のように回避していたのですが、Closingが呼び出された理由(UnloadModeみたいな情報)は受け取っていないのでしょうか? 「ローカル」ウインドウで sender を眺めてみましたが、違いには気付きませんでした。 Googleあたりでいろいろ探してみたんですが、いい情報には出会えませんでした。 or すっごく見当違いしてる?? | ||||
|
投稿日時: 2003-03-06 18:06
WndProcのオーバーライドでしょうか。
以前同じような事をしました。 Alt+F4は閉じるボタンと同じですね。 閉じたいときは Me.Close で閉じます。
| ||||
|
投稿日時: 2003-03-06 18:51
ありがとうございます。
思い通りの動きになりました。 VB→C#の移植って、貼り付けて書き換えるより書き直すほうが早そう。。。 微妙にもどかしいし。 コード量にも次第でしょうけど。 |
1