2011-08-02 3 views
1

WinFormチェックボックスにキーボードショートカットを設定する必要があります。チェックするかチェックを外す。キーボードショートカットでWinFormチェックボックスをオンまたはオフにする方法はありますか?

私はこれの可能性を知りません。

しかし、矢印キーとスペースキーのヘルプを使って行うことができます。

私の要件は、

Alt + C - Checked 
Alt + U - Un checked. 

がどれ可能性があります。..、以下のようなものです?。

+0

これは、Altキーを使用して行うべきではありません。それはキーボードのニーモニックのために予約されています。 –

+0

OK友達。私はcとuのボタンだけを使用します。もう一つのことニーモニックは何ですか? – Sagotharan

+1

可能な複製[winformsでキーボードショートカットを実装するための最良の方法は?](0120-385-005) –

答えて

3

このような形式のキーダウンで必要なキーの組み合わせを手動で確認できます(C#と仮定)。 Cody Grayが指摘しているように、予約済みのキーボードニーモニックのために別のキーの組み合わせを試す必要があります。

private void Form1_KeyDown(object sender, KeyEventArgs e) 
{ 
    // When the user presses both the 'Alt' key and 'C' key, 
    if (e.Alt && e.KeyCode.ToString() == "C") 
    { 

     //check the checkbox 
     this.checkBox1.Checked= true; 

    } 

    // When the user presses both the 'Alt' key and 'U' key, 
    if (e.Alt && e.KeyCode.ToString() == "U") 
    { 

     //Uncheck the checkbox 
     this.checkBox1.Checked= false; 

    } 
} 

イベントがフォーカスを持つコントロールに渡される前に、フォームがキーイベントを受け取るかどうかを示す値を取得または設定するためのチェックForm.KeyPressプロパティ。

+1

これは私のプロジェクトでは火災ではありません。いかなる優先権も設定されていますか?または何かを逃した。ありがとう。 – Sagotharan

+1

+ 1で素早く答えることができます。 – Sagotharan

+1

ああ私はPropriety名前付きキープレビューを見つける。 – Sagotharan

1

ニーモニックで行うことができます(チェックボックスのテキスト内でショートカットに使用するキーを含めても構いません)。

  • は(私はこれがデフォルトだと思う)
  • あなたはアンパサンド(例えば、&チェック)を前に付け、チェックボックスのテキストに使用するキーを入れUseMnemonicはあなたのチェックボックスをtrueに設定されていることを確認しますAltキーが代わりにチェックボックスのチェックをはずし&をチェックするニーモニックキーを押し&を押したとき

は...その後、キーをテキストに下線表示されます。

0

これは、フォームコントロールのprocessCmdKeyをオーバーライドすることで実現できます。この方法ですべてのショートカットを設定することができます。以下のVB.NETコードを確認してください:

Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, keyData As System.Windows.Forms.Keys) As Boolean 
    If keyData = Keys.N Then 
     ''call a method that check or uncheck the control 
    End If 
    ''you can even combine modifiers keys 
    If keyData =keys.Control + Keys.T Then 
     ''do something 
    End If 

    Return MyBase.ProcessCmdKey(msg, keyData) 
End Function 
関連する問題