SORU
2 EYLÜL 2009, ÇARŞAMBA


'Kapatıyorsa ve Basışı arasındaki fark ne .NET?

.net KeyDown KeyPress olaylar arasındaki fark nedir?

CEVAP
2 EYLÜL 2009, ÇARŞAMBA


Görünüşe göre yokbir sürübu konuda bir yanlış anlama!

KeyDown KeyPress pratik arasındaki tek fark KeyPress karakterini basarak kaynaklanan röleleri, ve eğer bir tane varsa sadece denir.

Diğer bir deyişle, Eğer basarsanızBirklavyenizde, bu olaylar dizisi:

  1. Kapatıyorsa: KeyCode=Keys.Bir,=KeyData Anahtarları.Bir,=Değiştirici Tuşları.Yok
  2. Tuş: KeyChar='a'
  3. KeyUp: KeyCode=Keys.Bir

Ama eğer basarsanızShiftBiralacaksınız:

  1. Kapatıyorsa: KeyCode=Keys.ShiftKey,=KeyData Anahtarları.ShiftKey, Shift, Değiştiriciler=Keys.Shift
  2. Kapatıyorsa: KeyCode=Keys.Bir,=KeyData Anahtarları.| Tuşları.Shift, Değiştiriciler=Keys.Shift
  3. Tuş: KeyChar='A'
  4. KeyUp: KeyCode=Keys.Bir
  5. KeyUp: KeyCode=Keys.ShiftKey

Eğer bir süre için AŞAĞI tuşlarını basılı tutarsanız, bir şey gibi: var

  1. Kapatıyorsa: KeyCode=Keys.ShiftKey,=KeyData Anahtarları.ShiftKey, Shift, Değiştiriciler=Keys.Shift
  2. Kapatıyorsa: KeyCode=Keys.ShiftKey,=KeyData Anahtarları.ShiftKey, Shift, Değiştiriciler=Keys.Shift
  3. Kapatıyorsa: KeyCode=Keys.ShiftKey,=KeyData Anahtarları.ShiftKey, Shift, Değiştiriciler=Keys.Shift
  4. Kapatıyorsa: KeyCode=Keys.ShiftKey,=KeyData Anahtarları.ShiftKey, Shift, Değiştiriciler=Keys.Shift
  5. Kapatıyorsa: KeyCode=Keys.ShiftKey,=KeyData Anahtarları.ShiftKey, Shift, Değiştiriciler=Keys.Shift
  6. Kapatıyorsa: KeyCode=Keys.Bir,=KeyData Anahtarları.| Tuşları.Shift, Değiştiriciler=Keys.Shift
  7. Tuş: KeyChar='A'
  8. Kapatıyorsa: KeyCode=Keys.Bir,=KeyData Anahtarları.| Tuşları.Shift, Değiştiriciler=Keys.Shift
  9. Tuş: KeyChar='A'
  10. Kapatıyorsa: KeyCode=Keys.Bir,=KeyData Anahtarları.| Tuşları.Shift, Değiştiriciler=Keys.Shift
  11. Tuş: KeyChar='A'
  12. Kapatıyorsa: KeyCode=Keys.Bir,=KeyData Anahtarları.| Tuşları.Shift, Değiştiriciler=Keys.Shift
  13. Tuş: KeyChar='A'
  14. Kapatıyorsa: KeyCode=Keys.Bir,=KeyData Anahtarları.| Tuşları.Shift, Değiştiriciler=Keys.Shift
  15. Tuş: KeyChar='A'
  16. KeyUp: KeyCode=Keys.Bir
  17. KeyUp: KeyCode=Keys.ShiftKey

KeyPress oluşur dikkat edinarasındaKeyDown KeyUp,değilsonra KeyUp, gibi birçok diğer cevapları dile KeyPress "değil," ne zaman bir karakter değil oluşturulan, ve o KeyDown tekrar sırasında anahtar tuttu da aksine pek çok diğer cevaplar.

Bu anahtarlar örneklerideğilsonuç KeyPress çağrıları doğrudan:

  • Shift,Ctrl,Alt
  • F1üzerindenF12
  • Ok tuşlarını

Anahtarlar örnekleriyapınKeyPress çağrıları neden:

  • BirüzerindenZ,0üzerinden9vb.
  • Boşluk
  • Tab=KeyChar ('', ASCII 9)\t
  • Girin(KeyChar='r', ASCII 13)\
  • Esc=KeyChar ('\x1b', ASCII 27)
  • Geri Al(='\'(ASCII 8) b . KeyChar

Kabaca ilişkilidir WM_KEYDOWN, KeyPress ** 17 KeyUp WM_KEYUP, KeyDown çok merak ediyorsanız. WM_KEYDOWNolabilirdaha az anahtar tekrarlar sayısından daha deniyor, ama tekrar başına tam bir Kapatıyorsa oluşturmak için kullandığı bir yineleme sayısı, gönderir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Kyler Briskey

    Kyler Briske

    20 ŞUBAT 2011
  • metallmanutza13

    metallmanutz

    13 NİSAN 2007
  • Sam Kear

    Sam Kear

    14 Temmuz 2007