一千萬個為什麽

搜索

將密鑰關聯到Windows窗體上的按鈕

我必須在C#上編寫一個方法,將某個鍵(從鍵盤)與特定按鈕相關聯。例如,如果我按 A ,我在表單應用程序上創建的按鈕應該顯示為正在按下它。

最佳答案

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;
    }

它並不完美,但它確實有效。

轉載註明原文: 將密鑰關聯到Windows窗體上的按鈕