4
我必須在C#上編寫一個方法,將某個鍵(從鍵盤)關聯到特定按鈕。例如,如果我按A,我在表單應用程序上創建的按鈕應該顯示爲正在按下。將鍵與Windows窗體上的按鈕相關聯
我必須在C#上編寫一個方法,將某個鍵(從鍵盤)關聯到特定按鈕。例如,如果我按A,我在表單應用程序上創建的按鈕應該顯示爲正在按下。將鍵與Windows窗體上的按鈕相關聯
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.KeyPreview = true;
}
private void button1_Click(object sender, EventArgs e)
{
System.Windows.Forms.MessageBox.Show("Ctrl-F was Pressed.");
}
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == (Keys.Control | Keys.F))
{
button1.PerformClick();
}
return base.ProcessCmdKey(ref msg, keyData);
}
}
注:爲了模擬點擊動畫,使Click事件是這樣的:
private void button1_Click(object sender, EventArgs e)
{
button1.FlatStyle = FlatStyle.Flat;
System.Windows.Forms.MessageBox.Show("foo");
button1.FlatStyle = FlatStyle.Standard;
}
它並不完美,但它的作品。
請參閱我的動畫編輯。沒有消息框(至少有東西在那裏打破)的動畫不起作用的 – 2010-04-13 03:04:11
。小處理的情況下沒有任何變化。 – 2013-11-26 16:22:05
我會想象你必須勾住keydown和keyup事件。 – 2013-11-26 16:27:54