منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
محتاج تعديل الكود لإضافتها فى موديل - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : محتاج تعديل الكود لإضافتها فى موديل (/showthread.php?tid=48399)



محتاج تعديل الكود لإضافتها فى موديل - new_programer - 30-04-24

السلام عليكم 
محتاج اضيف الكود فى موديل واستخدمه فى اكتر من فورم 
مع تغير اسم الفورم والتكست بوكس  حسب الفورم 
كل شاشة فيها اسماء التكست بوكس مختلفة 
الكود هيتكرر معايا فى المشروع كله
كود :
 Try
           Select Case selectName

               Case "Vind"
                   frmVindors.txtRegionNameID.Text = dgv_Add.CurrentRow.Cells(0).Value
                   frmVindors.txtRegionName.Text = dgv_Add.CurrentRow.Cells(1).Value
                   Me.Close()

               Case "Cust"
                   frmCustomers.txtRegionNameID.Text = dgv_Add.CurrentRow.Cells(0).Value
                   frmCustomers.txtRegionName.Text = dgv_Add.CurrentRow.Cells(1).Value
                   Me.Close()
               Case "Shipping"
                   frmCustomers.txtRegionNameID.Text = dgv_Add.CurrentRow.Cells(0).Value
                   frmCustomers.txtRegionName.Text = dgv_Add.CurrentRow.Cells(1).Value
                   Me.Close()
               Case "Region"
                   frmCustomers.txtRegionNameID.Text = dgv_Add.CurrentRow.Cells(0).Value
                   frmCustomers.txtRegionName.Text = dgv_Add.CurrentRow.Cells(1).Value
                   Me.Close()
               Case Else

           End Select
       Catch ex As Exception
           MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
       End Try



RE: محتاج تعديل الكود لإضافتها فى موديل - تركي الحلواني - 01-05-24

ضع هذه الدالة في الموديول
PHP كود :
Public Sub UpdateTextBoxes(ByVal formName As FormByVal textBoxID As StringByVal textBoxName As String)
 
   Select Case formName.Name
        Case 
"frmVindors"
 
           DirectCast(formNamefrmVindors).txtRegionNameID.Text textBoxID
            DirectCast
(formNamefrmVindors).txtRegionName.Text textBoxName
        Case 
"frmCustomers""frmShipping""frmRegion"
 
           DirectCast(formNamefrmCustomers).txtRegionNameID.Text textBoxID
            DirectCast
(formNamefrmCustomers).txtRegionName.Text textBoxName
        Case 
Else
 
           ' التعامل مع النماذج الأخرى إذا لزم الأمر
    End Select
    formName.Close()
End Sub 


وجرب الكود 
PHP كود :
Try
 
   UpdateTextBoxes(Medgv_Add.CurrentRow.Cells(0).Value.ToString(), dgv_Add.CurrentRow.Cells(1).Value.ToString())
Catch 
ex As Exception
    MessageBox
.Show(ex.Message"Error"MessageBoxButtons.OKMessageBoxIcon.Error)
End Try 



RE: محتاج تعديل الكود لإضافتها فى موديل - غزة العزة - 19-05-24

لتجنب تكرار الكود في المشروع ولجعل الكود أكثر مرونة، يمكنك إنشاء وظيفة عامة في نموذج مستقل تتعامل مع عملية التحديث بناءً على اسم النموذج واسماء الـTextBox الخاصة به. يمكنك بعد ذلك استدعاء هذه الوظيفة في النماذج المختلفة مع تمرير المعلمات المطلوبة.

إليك كيفية القيام بذلك:

إنشاء نموذج عام: يمكنك إنشاء نموذج عام يحتوي على الوظيفة التي تقوم بالتحديث بناءً على اسم النموذج واسماء الـTextBox.


PHP كود :
Public Module UpdateModule
    Public Sub UpdateTextBoxes
(formName As StringtextBoxID As TextBoxtextBoxName As TextBoxdgv As DataGridView)
 
       Try
            Dim idValue 
As String dgv.CurrentRow.Cells(0).Value.ToString()
 
           Dim nameValue As String dgv.CurrentRow.Cells(1).Value.ToString()

 
           textBoxID.Text idValue
            textBoxName
.Text nameValue
        Catch ex 
As Exception
            MessageBox
.Show(ex.Message"Error"MessageBoxButtons.OKMessageBoxIcon.Error)
 
       End Try
 
   End Sub
End Module 


استدعاء النموذج العام في النماذج المختلفة: يمكنك استدعاء الوظيفة العامة في النماذج المختلفة مع تمرير المعلمات المطلوبة (اسم النموذج واسماء الـTextBox وDataGridView).

PHP كود :
' في النموذج الأول
Private Sub UpdateVindors()
    UpdateModule.UpdateTextBoxes("Vind", txtRegionNameID, txtRegionName, dgv_Add)
    Me.Close()
End Sub

في النموذج الثاني
Private Sub UpdateCustomers()
 
   UpdateModule.UpdateTextBoxes("Cust"txtRegionNameIDtxtRegionNamedgv_Add)
 
   Me.Close()
End Sub

' وهكذا لباقي النماذج... 


استخدام Select Case في استدعاء الوظيفة: إذا كان لديك حالات متعددة كما هو موضح في الكود الأول، يمكنك استخدام Select Case في استدعاء الوظيفة العامة.

PHP كود :
Try
 
   Select Case selectName
        Case 
"Vind"
 
           UpdateModule.UpdateTextBoxes("Vind"frmVindors.txtRegionNameIDfrmVindors.txtRegionNamedgv_Add)
 
           Me.Close()
 
       Case "Cust"
 
           UpdateModule.UpdateTextBoxes("Cust"frmCustomers.txtRegionNameIDfrmCustomers.txtRegionNamedgv_Add)
 
           Me.Close()
 
       Case "Shipping"
 
           UpdateModule.UpdateTextBoxes("Shipping"frmCustomers.txtRegionNameIDfrmCustomers.txtRegionNamedgv_Add)
 
           Me.Close()
 
       Case "Region"
 
           UpdateModule.UpdateTextBoxes("Region"frmCustomers.txtRegionNameIDfrmCustomers.txtRegionNamedgv_Add)
 
           Me.Close()
 
       Case Else
 
           ' حالات أخرى إذا لزم الأمر
    End Select
Catch ex As Exception
    MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try 


باستخدام هذه الطريقة، يمكنك إعادة استخدام الكود وتجنب التكرار. يمكنك أيضًا توسيع الوظيفة العامة لتشمل أي معالجات خاصة بالنماذج إذا لزم الأمر.


RE: محتاج تعديل الكود لإضافتها فى موديل - new_programer - 23-05-24

شكرا لك استاذي الفاضل
غزة العزة

جاري تجربة واستخدام الكود