PDA

View Full Version : کدام کلید فشرده شده است (در TextBox)



روح اله معینی زاده
شنبه 03 مرداد 1383, 10:53 صبح
با سلام خدمت دوستان گرامی

من به تازگی به وی بی دات نت روی آورده ام.

در اولین برنامه ای که داشتم به صورت تمرینی می نوشتم به یک مشکل برخوردم که به کمک سبز شما نیازمند شدم.

اگر یادتان باشد در وی بی 6 وقتی یک جعبه متن داشتیم، می توانستیم در روال KeyDown آن با خاصیت KeyCode کارهایی را انجام دهیم یا در روال KeyPress با خاصیت KeyAscii.

حال من خواستم با همین خواص در دات نت کار کنم، اما وقتی روال KeyDown یا KeyPress را آوردم، خاصیت‌هایی را که در بالا گفتم، ندیدم. چه کاری باید انجام دهم؟

با احترام- خدانگهدار

(سیدشریفی)
شنبه 03 مرداد 1383, 12:49 عصر
میتوانید از آرگومان e استفاده کنید .
e.KeyCode
:)

روح اله معینی زاده
یک شنبه 04 مرداد 1383, 10:49 صبح
با سلام و خسته نباشید

از جواب شما متشکرم. در اولین فرصت آزمایش خواهم کرد و اگر باز هم مشکلی بود مزاحم خواهم شد.

با احترام- خدانگهدار

روح اله معینی زاده
یک شنبه 11 مرداد 1383, 08:56 صبح
با سلام و خسته نباشید مجدد

حال که فهمیدیم کدام کلید فشرده شده است (e.keyChar)، چه طور می شود جلوی نوشته شدن آن در TextBox را گرفت؟

در وی بی به شکل زیر بود

KeyAscii=0

در دات نت به چه شکل خواهد بود؟

با احترام- خدانگهدار

rezanew
یک شنبه 11 مرداد 1383, 09:38 صبح
e.Handled = True

روح اله معینی زاده
یک شنبه 11 مرداد 1383, 11:06 صبح
با سلام و احترام

با تشکر از رضا جدیده :wink:

می رم خونه و امتحان می کنم، امیداورم جواب بده.

با سپاس فراوان از rezanew- خدانگهدارتون.

sh
یک شنبه 11 مرداد 1383, 16:57 عصر
برای جلوگیری از نوشته شدن هر کاراکتر باید از رویداد KeyPress استفاده کنی


Private Sub TextBox4_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox4.KeyPress
Select Case Asc(e.KeyChar)
Case AscW(ControlChars.Cr) 'Enter key
e.Handled = True
TextBox5.Focus()
Case AscW(ControlChars.Back) 'Backspace
'Case 45 'Dash
Case 48 To 57 'Numbers
Case Else 'Everything else
e.Handled = True
End Select
End Sub

روح اله معینی زاده
دوشنبه 12 مرداد 1383, 07:57 صبح
با سلام و تشکر از همه دوستان
مشکل حل شد
با احترام- خدانگهدار