MSDNのこのページによるとKey Value
、Left Controlのforは162です。このキーがコードで押されているかどうかを確認するにはどうすればよいですか?現時点では、キーを押して処理しようとするたびに、17
単なる一般的なコントロールキーである値を取得します。2つを区別する方法はありますか?ProcessCmdKey
テキストボックスのオーバーライドと処理を試みましPreviewKeyDown
たが、どちらも162ではなく17を返します。すべての修飾キーに対してこれを行う必要があり、値をハードコーディングする前に、これらをコードでキャプチャするためのより良い代替手段はありますか?
編集:コードが追加されました。明確にするために、修飾子を区別する別の方法を見つけるだけでなく、162の番号を取得したいと思います。
private void PortfolioNameTextBox_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
var val = e.KeyValue; //17 when control is pressed and not 162
}
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
//msg.Wparam = 17
return base.ProcessCmdKey(ref msg, keyData);
}