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

  • 365multimedia

    365multimedi

    26 ŞUBAT 2009
  • BgirlNilaya

    BgirlNilaya

    29 EKİM 2008
  • dhcrr's channel

    dhcrr's chan

    2 Ocak 2007