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

  • David MeShow

    David MeShow

    10 EKİM 2006
  • Fr. Eckle Studios

    Fr. Eckle St

    29 Kasım 2006
  • parlophone

    parlophone

    28 ŞUBAT 2006