تطبيقات عملية للخصائص المتقدمة لأداة التحكم
(الصفحات المتعددة - MultiPage control )
وكيفية التحكم فيها بأكثر من طريقة
مثـال (1)
سنقوم بانشاء يوزر فورم بسيط واضافة عنصر الصفحات المتعددة MultiPage وسوف نتعرف معا علي كيفية اعطاء اسم لكل صفحة عن طريق الكود والانتقال بين الصفحات عن طريق اداة الــ ( SpinButton ) وكذلك اضافة عنوان يتغير مع تغيير الصفحة .
اولا :- في حدث التغيير Change لاداة الصفحات المتعددة MultiPage1 نضيف الكود التالي لتحديد اسماء الصفحات وكذلك لتغير العنوان مع كل صفحة بالضافة لعرض اسم الصفحة اعلي الفورم
Private Sub MultiPage1_Change()
'لتغير بيانات العنوان وعنوان الفورم مع تغيير الصفحة
Select Case MultiPage1.Value
Case 0
Lb_Information.Caption = "شاشة أدخال البيانات"
Me.Caption = MultiPage1.Pages(0).Caption
Case 1
Lb_Information.Caption = "شاشة البحث"
Me.Caption = MultiPage1.Pages(1).Caption
Case 2
Lb_Information.Caption = "شاشة التقارير والطباعة"
Me.Caption = MultiPage1.Pages(2).Caption
End Select
End Sub
ثانيا :- في حدث تشغيل الفورم UserForm_Activate نحدد الحد الادني والاعلي لاداة التحكم SpinButton
Private Sub UserForm_Activate()
'في حدث تشغيل الفورم
'تعين الحد الادني والاقصي لمفتاح التنقل
With SpinButton1
.Min = 0
.Max = MultiPage1.Pages.Count
End With
End Sub
ثالثا:- في حدث الـChange لاداة التحكم SpinButton1
Private Sub SpinButton1_Change()
'في حدث التغير لمفتاح الانتقال
MultiPage1.Value = SpinButton1.Value - 1
End Sub
رابعا :- في حدث انطلاق الفورم نحدد صفحة البداية ولتكن مثلا الصفحة الاولي - للصفحات المتعددة
Private Sub UserForm_Initialize()
'في حدث انطلاق الفورم
'لتحديد صفحة البداية الصفحة الاولي
MultiPage1.Value = 0
End Sub
مثال (2)
سوف نتعرف من خلاله علي كيفية التحكم في عرض الصفحات عن طريق زر (التالي والسابق)
اولا: - نضيف زرأمر CommandButton ونخصصه لوظيفة (التالي) وأخر نخصصه لزر (السابق)
ثانيا:- حدث الضغط علي زر امر (التالي) نضيف مايلي
Private Sub cmdNext_Click()
'في حدث الضفط علي زر التالي
Dim idxPage As Integer
idxPage = Me.MultiPage1.Value + 1
If idxPage = 3 Then Exit Sub
Me.MultiPage1.Value = idxPage
End Sub
ثالثا:- في حدث الضغط علي زر أمر (السابق)
Private Sub cmdPrevious_Click()
'في حدث الضغط علي زر السابق
If Me.MultiPage1.Value = 0 Then
Exit Sub
Else
Me.MultiPage1.Value = Me.MultiPage1.Value - 1
End If
End Sub
مثال(3)
استخدام زر امر واحد للتنقل بين الصفحات
Private Sub Cmb_Move_Click()
'في حدث الضغط علي زر التحرك بين الصفحات
Dim idxPage As Integer
idxPage = Me.MultiPage1.Value + 1
If idxPage = 3 Then idxPage = 0
Me.MultiPage1.Value = idxPage
End Sub
مثال (4)
الانتقال بين الصفحات باستخدام الـVBA مع اخفاء جميع الصفحات واظهار صفحة محددة وربطها بزر امر
اولا :- نضيف كود اخفاء الصفحات خلال تشغيل الفورم
WFNBB3.png
Sub CtrlPages()
'لاخفاء جميع الصفحات
With Me
For Each pPage In .MultiPage1.Pages
pPage.Visible = 0
Next pPage
'لتحديد استايل عرض الصفحات بدون عنواين
.MultiPage1.Style = fmTabStyleNone
End With: End Sub
ثانيا:- نقوم باضافة عدد 3 زر امر
1- زر امر مثلا لشاشة الادخال وفي حدث الكليك نضيف الكود التالي
Private Sub Cmb_Entry_Click()
With Me
'استدعاء كود الاخفاء
CtrlPages
'اظهار الصفحة الأولي
.MultiPage1.Pages(0).Visible = True
.MultiPage1.Value = 0
End With: End Sub
2- زرامر للصفحة الثانية مثلا لشاشة البحث
Private Sub Cmb_Search_Click()
With Me
CtrlPages
'اظهار الصفحة الثالثة
.MultiPage1.Pages(1).Visible = True
.MultiPage1.Value = 1
End With: End Sub
3- زر امر للصفحة الثالثة مثلا التقارير
Private Sub Cmb_Repors_Click()
With Me
CtrlPages
'اظهار الصفحة الثانية
.MultiPage1.Pages(2).Visible = True
.MultiPage1.Value = 2
End With: End Sub
ثالثا:- تعين الصفحة الاولي كصفحة البداية عند تشغيل الفورم
Private Sub UserForm_Activate()
'جعل صفحة بداية الفتح الصفحة الاولي
Cmb_Entry_Click
End Sub
ضع رد لظهور الملف