View Full Version : سوال: گير انداختن فشردن Ctrl+Function Key در Form
  
A.Farzin
شنبه 28 اردیبهشت 1387, 20:35 عصر
با سلام
فشردن كليدهاي F1 تا F12 را به سادگي در رويداد Keydown هر Form ميتوان كنترل كرد. ولي چرا نميتوان همين كار را براي Ctrl+F1 تا Ctrl+F12 نه در رويداد Keydownو نه در رويداد Keypress انجام داد؟
ممنون
vbhamed
یک شنبه 29 اردیبهشت 1387, 01: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, 03: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-1404, Jelsoft Enterprises Ltd.