C#(Microsoft Visual Studio 201 )では、次のようなボタンにキーボードショートカットを割り当てるにはどうすればよいですか?
private void closeButton_Click(object sender, EventArgs e)
{
// Close the program
this.Close();
}
ボタンのテキストに「&」文字を使用して、 Alt - n ショートカットですが、次のような単一のキー押下ショートカットを作成したいと思います c 上記を実行します。
KeyDownは友達です;)たとえば、ショートカットキーが必要な場合 A ながら Shift が押された場合、これを試してください:
void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.A && e.Shift)
// Do something
}
「本物の」キーボードショートカットが必要な場合は、フックを使用できます。 Stack Overflowの質問RegisterHotKeys and global keyboard hooks?を見てください。
ここに別のアプローチがあります:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
switch(keyData)
{
case Keys.F2:
// do something...
return true;
case Keys.F3:
// do something...
return true;
case Keys.F4:
// do something...
return true;
default:
return base.ProcessCmdKey(ref msg, keyData);
}
}
KeyPreview
の値を変更する必要はありません。
__コード__ CtrlS
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
switch (keyData)
{
case Keys.Control | Keys.S:
// do something...
return true;
case Keys.Control |Keys.Alt | Keys.S:
// do something...
return true;
case Keys.F2:
// do something...
return true;
case Keys.F3:
// do something...
return true;
case Keys.F4:
// do something...
return true;
default:
return base.ProcessCmdKey(ref msg, keyData);
}
}