View Full Version : سوال: گير انداختن فشردن Ctrl+Function Key در Form
A.Farzin
شنبه 28 اردیبهشت 1387, 19:35 عصر
با سلام
فشردن كليدهاي F1 تا F12 را به سادگي در رويداد Keydown هر Form ميتوان كنترل كرد. ولي چرا نميتوان همين كار را براي Ctrl+F1 تا Ctrl+F12 نه در رويداد Keydownو نه در رويداد Keypress انجام داد؟
ممنون
vbhamed
یک شنبه 29 اردیبهشت 1387, 00:32 صبح
سلام
اينم نمونه براي Ctrl + F1 تا F4
If Shift = vbCtrlMask Then
Select Case KeyCode
Case vbKeyF1: MsgBox "Ctrl + F1"
Case vbKeyF2: MsgBox "Ctrl + F2"
Case vbKeyF3: MsgBox "Ctrl + F3"
Case vbKeyF4: MsgBox "Ctrl + F4"
End Select
End If
ali_habibi1384
یک شنبه 29 اردیبهشت 1387, 02:43 صبح
با سلام
فشردن كليدهاي F1 تا F12 را به سادگي در رويداد Keydown هر Form ميتوان كنترل كرد. ولي چرا نميتوان همين كار را براي Ctrl+F1 تا Ctrl+F12 نه در رويداد Keydownو نه در رويداد Keypress انجام داد؟
ممنون
جواب:چرا نشه؟ یک روشش رو دوستمون گفتند . روش دیگری هم هست
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If Shift = 2 And KeyCode = 112 Then MsgBox "F1+CTRL"
If Shift = 2 And KeyCode = 113 Then MsgBox "F2+CTRL"
If Shift = 2 And KeyCode = 114 Then MsgBox "F3+CTRL"
If Shift = 2 And KeyCode = 115 Then MsgBox "F4+CTRL"
End Sub
این کدها از F1 تا F4 همراه با CTRL هستش. وقتی کلید CTRL فشرده میشه مقدار پارامتر Shift عدد 2 خواهد بود.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.