مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

david1363

عضویت از 1400/04/24

کلید میانبر سفارشی در vb کمک فوری

  • یکشنبه 27 تیر 1400
  • 00:10
تشکر میکنم

سلام من میخوام در فرم اصلی وقتی دکمه های میانبر رو میزنم فرم مد نظرم باز بشه مثلا کلید عدد 25 و میزنم فرم 1 باز بشه وقتی کلید 2a میزنم فرم 2 کلید 6c میزنم فرم 3 به همین ترتیب میخوام کلید برای فرم های مدنظرم تعریف کنم با یک حرف میتونم باز کنم ولی با دو حرف نشد در ضمن از کلیدهای Ctrl , Alt ,Shift نمیخوام استفاده گنم فقط از اعداد رقمی 10 تا 99 و ترکیبشون با حروف مثل 2a , 3b 4a 8k 9m و غیره ....... ممنون


 

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

رستم فیروززاده

عضویت از 1402/07/14

  • شنبه 15 مهر 1402
  • 07:45

سلام به همه

ایده جالبی بود که من دستورش رو نوشتم:

برای تماشای ویدئو آموزشی لینک رو کلیک کنید .... 

https://aparat.com/v/PIQYt

    Dim ShortcutKey(1) As Windows.Forms.Keys
    Event CustomShortcutKeyPressed(firstKey As Keys, secondKey As Keys)
    
Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
        If (Not ShortcutKey(0) = Nothing) Then
            If ShortcutKey(1) = Nothing Then
                ShortcutKey(1) = e.KeyCode
            End If
        End If
        If ShortcutKey(0) = Nothing Then
            ShortcutKey(0) = e.KeyCode
        End If
    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
        ShortcutKey(0) = Nothing
        ShortcutKey(1) = Nothing
    End Sub

    Private Sub Form1_KeyUp(sender As Object, e As KeyEventArgs) Handles Me.KeyUp
        If (Not ShortcutKey(0) = Nothing) AndAlso (Not ShortcutKey(1) = Nothing) Then
            RaiseEvent CustomShortcutKeyPressed(ShortcutKey(0), ShortcutKey(1))
            ShortcutKey(0) = Nothing
            ShortcutKey(1) = Nothing
        End If
    End Sub

    Private Sub Form1_CustomShortcutKeyPressed(firstKey As Keys, secondKey As Keys) Handles Me.CustomShortcutKeyPressed
        Debug.Print(" >> {0}{1}", Chr(firstKey), Chr(secondKey))
        Select Case (Chr(firstKey) + Chr(secondKey)).ToUpper
            Case "9M"
                Dim FRM As New Form
                FRM.ShowDialog(Me)
        End Select
    End Sub

کاربرانی که از این پست تشکر کرده اند david1363

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)