ورود

View Full Version : سوال: انتخاب Radio Button با استفاده از کیبورد



AmiRReZzZzA
سه شنبه 20 تیر 1391, 03:39 صبح
سلام من 1 برنامه ساختم که توش حدودا" 11 تا رادیوباتن وجود داره میخاستم بدونم میشه مثلا وقتی دکمه 1 کیبرد رو میزنیم رادیوباتن 1 سلکت شه ؟ یعنی خاصیت cheked= true بشه ؟ اگه میشه لطفا سورس بزارید

ممنون

viper2009
سه شنبه 20 تیر 1391, 04:16 صبح
فکر کنم باید از خاصیت کلیدها در رویداد KeyPress استفاده کنی

فرید نجفلو
سه شنبه 20 تیر 1391, 11:54 صبح
سلام
اول خاصیت Tag اون رادیو باتن هایی رو که می خواید به صفحه کلید حساس بشن رو با کلید مورد نظر ست کنید (مثلا 1 و 2 و ...)
بعد خاصیت KeyPreview فرم رو true کنید

حالا کد زیر رو وارد فرم کنید:
Private Sub Form1_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
For Each Ctrl As Control In Me.Controls
If TypeOf Ctrl Is RadioButton AndAlso _
CStr(Ctrl.Tag) = e.KeyChar.ToString Then
CType(Ctrl, RadioButton).Checked = True
'دو حالتی
'CType(Ctrl, RadioButton).Checked = Not CType(Ctrl, RadioButton).Checked
End If
Next
End Sub

توجه کنید که اگه روی فرم تکست بکس هم داشته باشید با این کد مشکل پیدا می کنید مگه اینکه کنترل دارای فوکوس رو هم چک کنید
به هر حال این کد تو فرمی که فقط رادیو باتن داره به خوبی کار می کنه

ROSTAM2
سه شنبه 20 تیر 1391, 11:59 صبح
از رويدادهاي KeyDown و KeyUp فرم هم مي تونيد استفاده كنيد

ولي بصورت متعارف از كليد Alt و كاراكتري كه قبل از اون كاراكتر & گذاشته شده يك آيتم از پنجره انتخاب مي شه

مثال:

متن كليد: Option&1

در زمان اجرا هنگامه گرفتن كليد Alt زير كاراكتر 1 يه خط كشيده مي شه كه با فشار دادن كليد 1 از KeyBoard كليد انتخاب مي شه

AmiRReZzZzA
سه شنبه 20 تیر 1391, 16:21 عصر
مرسی از زحمتت ولی فرم من فقط رادیوباتن نیست خیلی چیز های دگ هم داره

alimanam
سه شنبه 20 تیر 1391, 17:02 عصر
با سلام


ولی فرم من فقط رادیوباتن نیست خیلی چیز های دگ هم داره

در ابتدا خاصیت KeyPreview فرم رو به True ست کن و بعد , از کدهای زیر استفاده کن :


Private Sub Form1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyUp

Select Case e.KeyCode
Case Is = Keys.NumPad1
RadioButton1.Checked = True
Case Is = Keys.NumPad2
RadioButton2.Checked = True
Case Is = Keys.NumPad3
RadioButton3.Checked = True

' و علی آخر

End Select

End Sub

موفـــق باشید./