MDI 親フォーム クラスで ProcessCmdKey() をオーバーライドし、同じクラスにメソッドを呼び出すキーボード ショートカットがあります。しかし、これらのホットキーを親子形式やその他の形式で機能させたいと考えています。現在のケースは、他のフォーム (MDI ではなく通常のフォーム) にフォーカスがある場合で、ProcessCmdKey() はもうキーボードをキャプチャしません。ProcessCmdKey() をどのクラスに入れるべきですか? ありがとう!
namespace myNamespace
{
public class MDIParent : System.Windows.Forms.Form
{
public bool NextTab(){...}
public bool PreviousTab(){...}
protected override bool ProcessCmdKey(ref Message message, Keys keys)
{
switch (keys)
{
case Keys.Control | Keys.Tab:
NextTab();
return true;
case Keys.Control | Keys.Shift | Keys.Tab:
PreviousTab();
return true;
}
return base.ProcessCmdKey(ref message, keys);
}
}
public class mySecondForm : System.Windows.Forms.Form
{
...
}
}