اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

برجاء المساعده في عند فتح user form يقف علي textbox معين 

و عند الضغط علي زر سهم الايمن من علي الكيبورد يذهب الي اليمن وعند الضغط علي الزر سهم الايسر 

 

وشكرا 

 

Capture.JPG

قام بنشر (معدل)

وعليكم السلام ورحمة الله تعالى وبركاته 

 هناك خطوات بسيطة تمكنك من فعل ذالك 

أرفق ملفك أخي للاشتغال عليه 

تم تعديل بواسطه محمد هشام.
قام بنشر

الافتراضي هو التنقل بزر tab و shift+tab ويمكن ذلك بضبط خاصية tabindex الخاصة بكل textbox 

العنصر الذي تريد أن يفتح النموذج عليه تجعل له رقم صفر في خاصية tabindex في نافذة الخصائص 

بالتوفيق 

  • أفضل إجابة
قام بنشر (معدل)

تفضل اخي جرب هدا الاقتراح 

User_Move-left-and-right2.thumb.gif.f414b863ea3cc04907b5952dfa61386b.gif

 

حاول اولا ترتيب عناصر التيكست بوكس على اليوزرفورم بشكل متتابع 

وفي وحدة class module ضع الكود التالي  مع تسميته مثلا ب Officena كما في الصورة ادناه 

Public WithEvents MultTextbox As MSForms.TextBox
Private Sub MultTextbox_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If TypeOf MultTextbox Is MSForms.TextBox Then
        Select Case KeyCode
            Case 37 ' السهم اليسار
                SendKeys "+{TAB}"
            Case 39 ' السهم اليمين
                SendKeys "{TAB}"
            Case Else
                ' السماح لجميع المفاتيح الأخرى بالعمل بشكل طبيعي
                Exit Sub
        End Select
    End If
End Sub
Private Sub MultTextbox_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    Dim ctrl As MSForms.Control
    Dim isTextBox As Boolean
    isTextBox = TypeOf MultTextbox Is MSForms.TextBox
    
    If isTextBox Then
        With USERFORM1 '<<======== 'قم بتعديل  الاسم الى اسم النمودج الخاص بك
            For Each ctrl In .Controls
                ' التحقق من أن العنصر هو TextBox
                If TypeOf ctrl Is MSForms.TextBox Then
                    ctrl.BackColor = RGB(255, 255, 255)  'ابيض كافتراضي'  لون الخلفية
                End If
            Next
            
            MultTextbox.BackColor = RGB(255, 255, 128) ' تغيير لون الخلفية للأصفر عند التركيز
        End With
    End If
End Sub

101.png.1625ce363ecec7f32fb36c2156b849fa.png

وفي داخل اليوزرفورم ضع الكود التالي 

Dim i As Integer
Dim ctrl As Control
Dim TxtBx() As New Officena
Private Sub UserForm_Initialize()
    Dim i As Long, ctrl As MSForms.Control
    i = 1
    For Each ctrl In Me.Controls
        If TypeName(ctrl) = "TextBox" Then
            ReDim Preserve TxtBx(i)
            Set TxtBx(i).MultTextbox = ctrl
            i = i + 1
        End If
    Next

End Sub

تفضل اليك المرفقات للتجربة 

 

User_Move left and right.rar

تم تعديل بواسطه محمد هشام.
  • Like 3

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information