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

  • HER0R

    HER0R

    16 Aralık 2007
  • Majestic Casual

    Majestic Cas

    28 NİSAN 2012
  • TheScorpioTechno

    TheScorpioTe

    15 Aralık 2010