SORU
30 Aralık 2008, Salı


En iyi Windows Forms uygulamasında klavye kısayolları uygulamak için yolu?

Genel Windows klavye kısayolları uygulamak için daha iyi bir yol arıyorum (örneğinCtrlF,CtrlN) C Windows Forms uygulamam#.

Uygulama, çok sayıda alt form (bir kerede) barındıran ana bir form var. Bir kullanıcı çarptığındaCtrlFÖzel bir arama formu göstermek istiyorum. Arama formu uygulamada cari açık alt formun bağlı olacaktır.

*ChildForm_KeyDown* olay böyle bir şey kullanmayı düşünüyordum

   if (e.KeyCode == Keys.F && Control.ModifierKeys == Keys.Control)
        // Show search form

Ama bu işe yaramıyor. Bu olay bile bir tuşa bastığınızda ateş etmiyor. Çözüm nedir?

CEVAP
30 Aralık 2008, Salı


Muhtemelen KeyPreview formu özelliği True olarak ayarlamak için unuttum. ProcessCmdKey() yöntemi geçersiz kıldı genel çözüm:

protected override bool ProcessCmdKey(ref Message msg, Keys keyData) {
  if (keyData == (Keys.Control | Keys.F)) {
    MessageBox.Show("What the Ctrl F?");
    return true;
  }
  return base.ProcessCmdKey(ref msg, keyData);
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ASUS North America

    ASUS North A

    12 AĞUSTOS 2008
  • GALERNAYA20

    GALERNAYA20

    19 NİSAN 2011
  • GenTechPC

    GenTechPC

    1 Temmuz 2007