الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيفية طلب الأدوات من الموديل؟

مغلق
بدأه حسن المنتصر في 16 يوليو 2005 · 3 رد · 413 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لدي الأدوات التالية على معظم واجهات البرنامج

 
buttons:
             CmdAddnew
             CmdUpdate
             CmdSearsh
             CmdEdit
             CmdDelete
             CmdUndo

وأريد طلب هذه الأدوات من الموديل

علما أنني وضعت إجراء في الموديل ولكنه لم ينفع وتظهر الرسالة التالية

 
'CmdAddnew' is not a member of system.windows.forms.form

والرسالة تظهر على جميع الأدوات

الإجراء المستخدم

 
Public Sub Cmd(ByVal Frm As Windows.Forms.Form, ByVal AddNew As Boolean, ByVal UpDate As Boolean, ByVal Search As Boolean, ByVal Edit As Boolean, ByVal Delete As Boolean, ByVal UnDo As Boolean)
        With Frm
            .CmdAddnew.Enabled = AddNew
            .CmdUpdate.Enabled = UpDate
            .CmdSearch.Enabled = Search
            .CmdEdit.Enabled = Edit
            .CmdDelete.Enabled = Delete
            .CmdUndo.Enabled = UnDo
        End With
    End Sub

وأقوم باستدعاء الاجراء كالتالي:

 
Private Sub CmdAddnew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdAddnew.Click
        Cmd(Me, False, True, False, False, False, True)
    End Sub

Private Sub CmdSearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdSearch.Click
        Cmd(Me, False, False, False, True, True, True)
    End Sub

فأين المشكلة ؟

#2

شكرا للإخوة الأعضاء على الرد السريع !

ولكن بحمد الله لم تمضي بضعة دقائق حتى وجدت حلا رغم انني اراه حل تلفيقي أو حيلة ركيكة

هدا الحل الذي توصلت اليه

Module Module1
    Dim Ctrl As Control
    Public Sub Cmd(ByVal Frm As Windows.Forms.Form.ControlCollection, ByVal AddNew As Boolean, ByVal UpDate As Boolean, ByVal Search As Boolean, ByVal Edit As Boolean, ByVal Delete As Boolean, ByVal UnDo As Boolean)
        For Each Ctrl In Frm
            If TypeOf Ctrl Is Button Then
                If Ctrl.Name = "CmdAddnew" Then Ctrl.Enabled = AddNew
                If Ctrl.Name = "CmdUpdate" Then Ctrl.Enabled = UpDate
                If Ctrl.Name = "CmdSearch" Then Ctrl.Enabled = Search
                If Ctrl.Name = "CmdEdit" Then Ctrl.Enabled = Edit
                If Ctrl.Name = "CmdDelete" Then Ctrl.Enabled = Delete
                If Ctrl.Name = "CmdUnDo" Then Ctrl.Enabled = UnDo
            End If
        Next
    End Sub
End Module

وفي الفورم كتبت الآتي

Private Sub CmdAddnew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdAddnew.Click
        Cmd(Me.Controls, False, True, False, False, False, True)
    End Sub

    Private Sub CmdSearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdSearch.Click
        Cmd(Me.Controls, False, False, False, True, True, True)
    End Sub

    Private Sub CmdUndo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdUndo.Click
        Cmd(Me.Controls, True, False, True, False, False, False)
    End Sub

ومازلت بحاجة إلى طريقة اكتر فاعلية واكثر جودة

#3

good

#4

ألا يوجد لديكم حل لهذا الموضوع ؟

هذا الموضوع مغلق.

مواضيع مشابهة