19-05-24, 11:31 PM
لتجنب تكرار الكود في المشروع ولجعل الكود أكثر مرونة، يمكنك إنشاء وظيفة عامة في نموذج مستقل تتعامل مع عملية التحديث بناءً على اسم النموذج واسماء الـTextBox الخاصة به. يمكنك بعد ذلك استدعاء هذه الوظيفة في النماذج المختلفة مع تمرير المعلمات المطلوبة.
إليك كيفية القيام بذلك:
إنشاء نموذج عام: يمكنك إنشاء نموذج عام يحتوي على الوظيفة التي تقوم بالتحديث بناءً على اسم النموذج واسماء الـTextBox.
استدعاء النموذج العام في النماذج المختلفة: يمكنك استدعاء الوظيفة العامة في النماذج المختلفة مع تمرير المعلمات المطلوبة (اسم النموذج واسماء الـTextBox وDataGridView).
استخدام Select Case في استدعاء الوظيفة: إذا كان لديك حالات متعددة كما هو موضح في الكود الأول، يمكنك استخدام Select Case في استدعاء الوظيفة العامة.
باستخدام هذه الطريقة، يمكنك إعادة استخدام الكود وتجنب التكرار. يمكنك أيضًا توسيع الوظيفة العامة لتشمل أي معالجات خاصة بالنماذج إذا لزم الأمر.
إليك كيفية القيام بذلك:
إنشاء نموذج عام: يمكنك إنشاء نموذج عام يحتوي على الوظيفة التي تقوم بالتحديث بناءً على اسم النموذج واسماء الـTextBox.
PHP كود :
Public Module UpdateModule
Public Sub UpdateTextBoxes(formName As String, textBoxID As TextBox, textBoxName As TextBox, dgv 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.OK, MessageBoxIcon.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", txtRegionNameID, txtRegionName, dgv_Add)
Me.Close()
End Sub
' وهكذا لباقي النماذج...
استخدام Select Case في استدعاء الوظيفة: إذا كان لديك حالات متعددة كما هو موضح في الكود الأول، يمكنك استخدام Select Case في استدعاء الوظيفة العامة.
PHP كود :
Try
Select Case selectName
Case "Vind"
UpdateModule.UpdateTextBoxes("Vind", frmVindors.txtRegionNameID, frmVindors.txtRegionName, dgv_Add)
Me.Close()
Case "Cust"
UpdateModule.UpdateTextBoxes("Cust", frmCustomers.txtRegionNameID, frmCustomers.txtRegionName, dgv_Add)
Me.Close()
Case "Shipping"
UpdateModule.UpdateTextBoxes("Shipping", frmCustomers.txtRegionNameID, frmCustomers.txtRegionName, dgv_Add)
Me.Close()
Case "Region"
UpdateModule.UpdateTextBoxes("Region", frmCustomers.txtRegionNameID, frmCustomers.txtRegionName, dgv_Add)
Me.Close()
Case Else
' حالات أخرى إذا لزم الأمر
End Select
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
باستخدام هذه الطريقة، يمكنك إعادة استخدام الكود وتجنب التكرار. يمكنك أيضًا توسيع الوظيفة العامة لتشمل أي معالجات خاصة بالنماذج إذا لزم الأمر.
غَزة شجرة سنديان لا تنحني، ووردة لا تذبل، وشوكة عصية على الكسر. غزة، دماؤها تنتصر على السيف والسياف.
متغيب لفترة ان اخطأت بحق احد ارجو المسامحة


