Ben projelerde butona bağlamak yerine form nesnesinin kod bloğu içerisinde override ederek bu işlemi yapıyorum.
Örneğin:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == (System.Windows.Forms.Keys.F2))
btnKaydet.PerformClick();
else if (keyData == (System.Windows.Forms.Keys.F3))
btnSil.PerformClick();
else if (keyData == (System.Windows.Forms.Keys.F4))
btnKapat.PerformClick();
else if (keyData == (System.Windows.Forms.Keys.F1))
btnTemizle.PerformClick();
return base.ProcessCmdKey(ref msg, keyData);
}