سلام
خصوصیت KeyPreview را به مقدار True تغییر دهید تا در زمانی که Focus روی کنترلهای دیگر بود رویدادهای کیبورد برای فرم اتفاق بیفتد. خصوصیت KeyCode مربوط به آرگومنت رویداد کلید فشرده شده را در خود دارد. در این کد با زدن کلید F2 پیغامی نمایش داده میشود.
//in the name of god
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.KeyPreview = true;
this.KeyDown += new System.Windows.Forms.KeyEventHandler(Form_KeyDown) ;
}
void Form_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if (e.KeyCode == Keys.F2)
{
System.Windows.Forms.MessageBox.Show("f2 pressed");
}
}
}
}