المشاركات : 101
المواضيع 27
الإنتساب : Feb 2020
السمعة :
4
الشكر: 76
تم شكره 148 مرات في 74 مشاركات
السلام عليكم ورحمة الله وبركاته
اسعد الله جميع اوقاتكم بكل خير
اتمنى ان يكون الجميع بصحه وعافيه
اخواني الاعزاء قمت بتطبيق الشرح المستخدم في الفديو التالي https://youtu.be/htMS66-6KVc ل menu strip
ولكن لم استطع تطبيق الشرح على ادوات devexpress ribbon control السؤال كيف استطيع ان اطبق الشرح علي ادوات Devexpress Ribbon Control
لا إله إلا الله وحده لا شريك له، لهُ الملك وله الحمد وهو على كل شئ قدير،،،،
سبحان الله وبحمده سبحان الله العظيم
المشاركات : 2,646
المواضيع 204
الإنتساب : Dec 2015
السمعة :
337
الشكر: 17136
تم شكره 11148 مرات في 2628 مشاركات
بشاشة تسجيل اسم المستخدم و كلمة المرور ..
هكذا مثلا ..
كود :
MDIParent1.BarButtonItem1.Enabled = Dreader!USERS_Formula1
MDIParent1.BarButtonItem2.Enabled = Dreader!USERS_Formula2
تحياتي
المشاركات : 101
المواضيع 27
الإنتساب : Feb 2020
السمعة :
4
الشكر: 76
تم شكره 148 مرات في 74 مشاركات
أخي عبدالعزيز للأسف لم أستطيع أن أعدل على الكود التالي:
كود :
If dr("P26") = False Then
frm_mainscreen.Show()
frm_mainscreen.MenuStrip1.Enabled = True
Me.Hide()
frm_mainscreen.P1.Enabled = dr("P1")
frm_mainscreen.P2.Enabled = dr("P2")
frm_mainscreen.P3.Enabled = dr("P3")
frm_mainscreen.P4.Enabled = dr("P4")
frm_mainscreen.P5.Enabled = dr("P5")
frm_mainscreen.P6.Enabled = dr("P6")
frm_mainscreen.P7.Enabled = dr("P7")
frm_mainscreen.P8.Enabled = dr("P8")
frm_mainscreen.P9.Enabled = dr("P9")
frm_mainscreen.P10.Enabled = dr("P10")
frm_mainscreen.P11.Enabled = dr("P11")
frm_mainscreen.P12.Enabled = dr("P12")
frm_mainscreen.P13.Enabled = dr("P13")
frm_mainscreen.P14.Enabled = dr("P14")
frm_mainscreen.P15.Enabled = dr("P15")
frm_mainscreen.P16.Enabled = dr("P16")
' frm_mainscreen.P17.Enabled = dr("P11")
' frm_mainscreen.P18.Enabled = dr("P11")
' frm_mainscreen.P30.Enabled = dr("P16")
dr.Close()
con.Close()
Else
MsgBox("عفواً لا يوجد لديك صلاحية لدخول البرنامج يرجى مراجعة مدير النظام", MsgBoxStyle.Critical, MsgBoxStyle.OkOnly)
End If
End If
Catch ex As Exception
MsgBox(ex.Message)
Finally
con.Close()
End Try
اذا تفضلت مشكوراً تساعدني على حل هذه المشكلة
لا إله إلا الله وحده لا شريك له، لهُ الملك وله الحمد وهو على كل شئ قدير،،،،
سبحان الله وبحمده سبحان الله العظيم
المشاركات : 2,646
المواضيع 204
الإنتساب : Dec 2015
السمعة :
337
الشكر: 17136
تم شكره 11148 مرات في 2628 مشاركات
17-07-20, 12:43 AM
(آخر تعديل لهذه المشاركة : 17-07-20, 12:44 AM {2} بواسطة عبد العزيز البسكري.)
أخي الكريم محمد العامر
لست أدري طبيعة الكد لديك و محتوياته
بالنسبة لي .. أنا أستعمل بزر تسجيل الدخول هذا الكود .. حاول الاستنباط منه .. و حذف ما لا يليق بك
كود :
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Try
If Me.ComboBox1.Text = "" Then
ErrorProvider1.SetError(Me.ComboBox1, "الرّجاء كتابة اسم المستخدم")
MsgBox("الرّجاء كتابة اسم المستخدم", vbCritical + vbMsgBoxRight + vbMsgBoxRtlReading, "خطأ غير متوقّع")
Me.ComboBox1.Focus()
Exit Sub
End If
If Me.TextBox2.Text = "" Then
ErrorProvider1.SetError(Me.TextBox2, "الرّجاء كتابة كلمة المرور")
MsgBox("الرّجاء كتابة كلمة المرور", vbCritical + vbMsgBoxRight + vbMsgBoxRtlReading, "خطأ غير متوقّع")
Me.TextBox2.Focus()
Exit Sub
End If
Dim Dr1 As OleDbDataReader
Dim Cmd1 As New OleDbCommand("SELECT [USERS_Name],[USERS_Password] From TBL_USERS Where USERS_Name = '" & Me.ComboBox1.Text & "'")
Cmd1.Connection = Conne_2020
If Conne_2020.State = ConnectionState.Closed Then Conne_2020.Open()
Dr1 = Cmd1.ExecuteReader
If Dr1.Read Then
If UCase(Dr1(1)) = UCase(TextBox2.Text) Then
Dim Sql = "SELECT * From TBL_USERS WHERE USERS_Name='" & ComboBox1.Text & "'"
Dr1.Close()
Dr1.Dispose()
Dim Adp = New OleDb.OleDbDataAdapter(Sql, Conne_2020)
Dim Ds = New DataSet
Adp.Fill(Ds)
Dim Dt = Ds.Tables(0)
If Dt.Rows.Count > 0 Then
Dim Dr2 As DataRow
Dr2 = Dt.Rows(0)
MDIParent1.BarButtonItem1.Enabled = Dr2!USERS_Formula1
MDIParent1.BarButtonItem2.Enabled = Dr2!USERS_Formula2
MDIParent1.BarButtonItem3.Enabled = Dr2!USERS_Formula3
MDIParent1.BarButtonItem4.Enabled = Dr2!USERS_Formula4
MDIParent1.BarButtonItem5.Enabled = Dr2!USERS_Formula5
MDIParent1.BarButtonItem6.Enabled = Dr2!USERS_Formula6
MDIParent1.BarButtonItem7.Enabled = Dr2!USERS_Formula7
MDIParent1.BarButtonItem8.Enabled = Dr2!USERS_Formula8
MDIParent1.BarButtonItem9.Enabled = Dr2!USERS_Formula9
MDIParent1.BarButtonItem10.Enabled = Dr2!USERS_Formula10
MDIParent1.BarButtonItem11.Enabled = Dr2!USERS_Formula11
MDIParent1.BarButtonItem12.Enabled = Dr2!USERS_Formula12
Name_Users = Dr2!USERS_FullName
Password_Users = TextBox2.Text
XtraMessageBox.Show(" سندس لتسيير الإمتحانات الرسميّة .. ترحّب بكم" & ChrW(13) & ChrW(10) & ChrW(13) & ChrW(10) & " تمّ تسجيل الدخول إلى البرنامج على السّاعة : " & (DateAndTime.Now.ToString))
MDIParent1.Show()
MDIParent1.Enabled = True
MDIParent1.BarStaticItem3.Caption = Name_Users
Me.Dispose()
Me.Close()
End If
Else
Error_Show_Library_Management_First()
Me.TextBox2.Focus()
End If
Else
Error_Show_Library_Management_Second()
Me.ComboBox1.Focus()
Exit Sub
End If
Dr1.Close()
Conne_2020.Close()
Catch ex As Exception
XtraMessageBox.Show(ex.Message)
End Try
End Sub
ما يمكن فعله هو تعطيل ال BarButtonItem
المذكورة حسب الاسم بالكود و المشار إليها بالأسهم الحمراء كمثال ..
طيّب .. سيكون عددها كبير .. و بالتالي سيكون عدد الحقول من Yes - No
عن نفسي .. لم أجد حل آخر
من المفروض يتم تعطيل ال RibbonPage المشار إليها بالصورة أدناه
لكن لم أتوصّل إلى حل لهذه الإشكالية .. عن نفسي أتحدث
عند إستبدال ال BarButtonItem ب RibbonPage هكذا .. سينتج خطأ ..
كود :
MDIParent1.RibbonPage1.Enabled = Dreader!USERS_Formula
يمكنك .. إخفاء ال RibbonPage تماما بهذا الشكل و بدون أي أخطاء
كود :
MDIParent1.RibbonPage1.Visible = Dreader!USERS_Formula1
أمّا تعطيل ال RibbonPage و ليس إخفاؤه
بحثت كثيرا و لم أتوصّل للحل يا غالي
تحياتي
المشاركات : 2,329
المواضيع 81
الإنتساب : May 2018
السمعة :
522
الشكر: 14039
تم شكره 5671 مرات في 2269 مشاركات
سبحان الله وبحمده سبحان الله العظيم و الحمد لله ولا اله الا الله والله اكبر
المشاركات : 662
المواضيع 39
الإنتساب : Feb 2014
السمعة :
195
الشكر: 1474
تم شكره 1740 مرات في 622 مشاركات
السلام عليكم و رحمة الله و بركاته
يمكنك اختصار الموضوع كما يلي
PHP كود :
For Each page As DevExpress.XtraBars.Ribbon.RibbonPage In RibbonControl.Pages For Each group As DevExpress.XtraBars.Ribbon.RibbonPageGroup In page.Groups For Each link As BarItemLink In group.ItemLinks If Not link.Item.Name = "BarBt_Login" Then link.Item.Enabled = False End If Next Next Next
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
المشاركات : 101
المواضيع 27
الإنتساب : Feb 2020
السمعة :
4
الشكر: 76
تم شكره 148 مرات في 74 مشاركات
اخي عبد العزيز البسكري
شكرا جزيلا لك فرج الله همك ونفع بعلمك
الحمد الله الكود يعمل باستثناء امكانية التحكم في RibbonPage
الاخ العزيز asemshahen5
بارك الله فيك وجزاك الله كل خير
اخي ابو ليلى
ان امكن شرح استخدام Ribbon Control في موضوع مستقل حتي تعم الفائدة علي الجميع
شكرا لك جزيل الشكر
لا إله إلا الله وحده لا شريك له، لهُ الملك وله الحمد وهو على كل شئ قدير،،،،
سبحان الله وبحمده سبحان الله العظيم
المشاركات : 2,646
المواضيع 204
الإنتساب : Dec 2015
السمعة :
337
الشكر: 17136
تم شكره 11148 مرات في 2628 مشاركات
18-07-20, 09:58 PM
(آخر تعديل لهذه المشاركة : 18-07-20, 10:14 PM {2} بواسطة عبد العزيز البسكري.)
السّلام عليكم و رحمة الله و بركاته
كل الشّكر و التقدير و الإحترام و الإمتنان موصولين للأستاذيْن الكريمين
عاصم شاهين
أبو ليلى
لما قدّماه و يقدّمانه دومًا في خدمة السائلين أمثالي
أخي الغالي
محمد العامر
إليك الحل بالنسبة لي .. وهذا ما توصلت إليه بالنسبة لهذا الموضوع
و هو تعطيل ال : RibbonPageGroup و ليس ال RibbonPage
قد تكون 15 أو 20 .. ليس بالأمر الكثير
ثمّ بفورم اسم المستخدم و كلمة المرور ..
كود :
MDIParent1.RibbonPageGroup1.Enabled = Dreader!USERS_Permission1
MDIParent1.RibbonPageGroup2.Enabled = Dreader!USERS_Permission2
MDIParent1.RibbonPageGroup3.Enabled = Dreader!USERS_Permission3
لأنّك حتى لو استعلمت كود أستاذنا الفاضل أبو ليلى
أو كود أستاذنا الفاضل عاصم شاهين .. بعد تحويله
كود :
Private Sub RibbonControl1_MouseDown(sender As Object, e As MouseEventArgs) Handles RibbonControl1.MouseDown
Dim hi As RibbonHitInfo = RibbonControl1.CalcHitInfo(e.Location)
If hi.Page Is RibbonPage2 Then
DXMouseEventArgs.GetMouseArgs(e).Handled = True
End If
End Sub
لن تتمكن من التحكم .. بخصوص صلاحيات المستخدمين بالفورم الأساسي الذي يخص اسم المستخدم و كلمة المرور
نحن نريد أن نتيح للمستخدم الأول الفورم 1 و الفورم 2
و نمنع المستخدم الثاني من الفورم 3 و الفورم 4 .. كمثال
و بالتالي .. حسب رأيي المتواضع
استعمل هذه الطريقة و هي تفي بالغرض تماما
و الله الموفّق و الله المستعان
إحتراماتي للجميع
المشاركات : 101
المواضيع 27
الإنتساب : Feb 2020
السمعة :
4
الشكر: 76
تم شكره 148 مرات في 74 مشاركات
(18-07-20, 09:58 PM)عبد العزيز البسكري كتب : السّلام عليكم و رحمة الله و بركاته
كل الشّكر و التقدير و الإحترام و الإمتنان موصولين للأستاذيْن الكريمين
عاصم شاهين
أبو ليلى
لما قدّماه و يقدّمانه دومًا في خدمة السائلين أمثالي
أخي الغالي
محمد العامر
إليك الحل بالنسبة لي .. وهذا ما توصلت إليه بالنسبة لهذا الموضوع
و هو تعطيل ال : RibbonPageGroup و ليس ال RibbonPage
قد تكون 15 أو 20 .. ليس بالأمر الكثير
ثمّ بفورم اسم المستخدم و كلمة المرور ..
كود :
MDIParent1.RibbonPageGroup1.Enabled = Dreader!USERS_Permission1
MDIParent1.RibbonPageGroup2.Enabled = Dreader!USERS_Permission2
MDIParent1.RibbonPageGroup3.Enabled = Dreader!USERS_Permission3
لأنّك حتى لو استعلمت كود أستاذنا الفاضل أبو ليلى
أو كود أستاذنا الفاضل عاصم شاهين .. بعد تحويله
كود :
Private Sub RibbonControl1_MouseDown(sender As Object, e As MouseEventArgs) Handles RibbonControl1.MouseDown
Dim hi As RibbonHitInfo = RibbonControl1.CalcHitInfo(e.Location)
If hi.Page Is RibbonPage2 Then
DXMouseEventArgs.GetMouseArgs(e).Handled = True
End If
End Sub
لن تتمكن من التحكم .. بخصوص صلاحيات المستخدمين بالفورم الأساسي الذي يخص اسم المستخدم و كلمة المرور
نحن نريد أن نتيح للمستخدم الأول الفورم 1 و الفورم 2
و نمنع المستخدم الثاني من الفورم 3 و الفورم 4 .. كمثال
و بالتالي .. حسب رأيي المتواضع
استعمل هذه الطريقة و هي تفي بالغرض تماما
و الله الموفّق و الله المستعان
إحتراماتي للجميع
جزاك الله خير اخي عبدالعزيز
لاحظت بأنك تقوم بتعطيل جميع محتويات Ribbon Control من Ribbon Page Group و Ribbon Page ثم بناء على الصلاحيات في قاعدة البيانات يتم تنشيط محتويات Ribbon Page Group و Ribbon Page
هل هذا صحيح ؟؟
لا إله إلا الله وحده لا شريك له، لهُ الملك وله الحمد وهو على كل شئ قدير،،،،
سبحان الله وبحمده سبحان الله العظيم
المشاركات : 2,646
المواضيع 204
الإنتساب : Dec 2015
السمعة :
337
الشكر: 17136
تم شكره 11148 مرات في 2628 مشاركات
السّلام عليكم و رحمة الله و بركاته
يبدو أنّك لم تقرأ جيدا ما كتبته أخي الكريم محمد العامر
تحياتي
|