【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】

さっそくですが質問に入ります。

VB.2012(.Net Framework3.5)で開発しています。
MDIの親画面、子画面を作成しています。子画面が表示された状態でキーボードでCtrl+F4を押してもなにもしないようにしたいのですが、どうすれよいでしょうか?

画面右上の×印では通常通り画面を閉じられるようにしたいのですが、キーボード操作(Ctrl+F4)による画面閉はできないようにしたいのです。

よろしくお願いします。

A 回答 (2件)

Public Class Form2


Protected Overrides Function ProcessCmdKey(ByRef msg As Message, keyData As Keys) As Boolean
If keyData = Keys.Control + Keys.F4 Then
' 握りつぶす!
Return True
End If

Return MyBase.ProcessCmdKey(msg, keyData)
End Function
End Class
    • good
    • 0
この回答へのお礼

できました!
ありがとうございました。

お礼日時:2013/11/28 17:13

ProcessCmdKeyをオーバーライドして、Ctrl+F4の時だけ継承元も呼び出さず、


握りつぶしてしまえばいいのでは。多分。

http://msdn.microsoft.com/ja-jp/library/system.w …

この回答への補足

リンク先の情報を参考にしてみたのですが、よくわかりませんでした。

Ctrl+F4を押すとCtrlを押した時点で動作しkeyData にはCtrlが入っているようです。F4をおすとkeyData にはF4が入っているようです。
Ctrlだけ、あるは、F4だけではなくCtrl+F4が押されたかどうかはどうやって判定するのでしょうか?

補足日時:2013/11/26 10:27
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

お礼日時:2013/11/26 10:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報