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

  • kremosakhaz

    kremosakhaz

    25 AĞUSTOS 2006
  • Lupe Fiasco

    Lupe Fiasco

    23 ŞUBAT 2006
  • TimMinchinLive

    TimMinchinLi

    23 ŞUBAT 2009