12-10-13, 08:47 PM
12-10-13, 08:56 PM
سؤال غريب !!
لماذا اصلا تريد تمرير متغير للفورم
انت عندك موديول ضع فيه كل متغيراتك وقم باستدعائها من اي فورم
لماذا اصلا تريد تمرير متغير للفورم
انت عندك موديول ضع فيه كل متغيراتك وقم باستدعائها من اي فورم
12-10-13, 08:59 PM
استخدم public property
12-10-13, 10:06 PM
جزاك الله خير اخى سعود وجزاك الله خير اخى الشاكى لله
عملت فركتك اخى الشاكى لله عملت موديول عام وخليت كل المشاريع فى السيليوشن تتعرف عليه
جزاكم الله خير
عملت فركتك اخى الشاكى لله عملت موديول عام وخليت كل المشاريع فى السيليوشن تتعرف عليه
جزاكم الله خير
12-10-13, 10:12 PM
السلام عليكم ورحمة الله وبركاته
بعد إذن أخواني....
أنا شخصياً أستخدمها عند الحاجة، فمثلا نافذة بيانات موظف، أقوم بتمرير رقم id الخاص بالموظف في أمر استدعاء الفورم.
هذا طريقة الكود للفورم Form2 المخصص لبيانات الموظف وهو ثلاثة في واحد (تحديث و عرض و إضافة)
وهذه طريقة استدعائه من الـ Form1 بتمرير المعامل
السلام عليكم ورحمة الله وبركاته
بعد إذن أخواني....
أنا شخصياً أستخدمها عند الحاجة، فمثلا نافذة بيانات موظف، أقوم بتمرير رقم id الخاص بالموظف في أمر استدعاء الفورم.
هذا طريقة الكود للفورم Form2 المخصص لبيانات الموظف وهو ثلاثة في واحد (تحديث و عرض و إضافة)
كود :
Public Class Form2
Dim _id As Integer
Dim _update As Boolean
' من أجل يكون الفورم صالح للتحديث والعرض فقط وإضافة بيانات جديد Optional جعلت المعاملات هنا اختياري
Public Sub New(Optional ByVal id As Integer = 0, Optional ByVal update As Boolean = False)
' This call is required by the Windows Form Designer.
InitializeComponent() ' لا تحذف هذا السطر ولا تضع شيئأ قبله
' Add any initialization after the InitializeComponent() call.
_id = id
_update = update
End Sub
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If _id <> 0 Then
' عندما يوجد رقم أقوم بعرض بيانات الموظف
ViewEmployeeProfile()
If _update Then
' عندما المراد تحديث أغرض النص للأزارير لتتلائم مع المراد
Me.Button1.Text = "تحديث"
Else
' عندما المراد عرض البيانات فقط أقوم بتعطيل تحرير مربعات النص مثلا
Me.Button1.Text = "إغلاق"
End If
Else
' وإذا كان صفراً أترك النموذج فارغا لتسجيل بيانات موظف جديد
Me.Button1.Text = "إضافة"
End If
End Sub
' عرض البيانات البيانات
Private Sub ViewEmployeeProfile()
Dim sql As String = " SELECT * FROM[table1] WHERE [id] = " & _id
'
'
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If _id <> 0 Then
If _update Then
If UpdateEmployeeProfile() Then
Me.DialogResult = Windows.Forms.DialogResult.Yes
End If
Else
If AddEmployeeProfile() Then
Me.DialogResult = Windows.Forms.DialogResult.Yes
End If
End If
Else
Me.DialogResult = Windows.Forms.DialogResult.OK
End If
End Sub
' تحديث البيانات
Private Function UpdateEmployeeProfile() As Boolean
Try
Dim sql As String = " UPDATE [table1] SET [cname]=@cname, [bdate]=@bdate,.... WHERE [id] = " & _id
'
''
Return True
Catch ex As Exception
Return False
End Try
End Function
' إضافة البيانات البيانات
Private Function AddEmployeeProfile() As Boolean
Try
Dim sql As String = " INSERT INTO [table1] ( [cname], [bdate],....) VALUES ( @cname, @bdate,....) "
'
''
Return True
Catch ex As Exception
Return False
End Try
End Function
End Class
وهذه طريقة استدعائه من الـ Form1 بتمرير المعامل
كود :
Public Class Form1
' إضافة بيانات موظف جديد
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' لا بد من سطر التعريف أولا وهنا لم نسند معاملاً لأن الهدف إضافة جديد
Dim frm As New Form2()
If frm.ShowDialog(Me) = Windows.Forms.DialogResult.Yes Then
' ListView قم بتحديث
End If
End Sub
' عرض بيانات موظف فقط
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
' نمرر رقم تعريف الموظف ListView مثلا لو كان لدينا
' لا بد من سطر التعريف أولا لإسناد رقم تعريف الموظف
' مع تجاهل المعامل الثاني لأن الافتراضي له هي عرض البيانات فقط
Dim frm As New Form2(Val(Me.ListView1.SelectedItems(0).Text))
frm.ShowDialog(Me)
End Sub
' تحديث بيانات موظف موجود
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
' وخترنا تحديث بيانات الموظف المحدد فيها ListView مثلا لو كان لدينا
' لا بد من سطر التعريف أولا لإسناد رقم تعريف الموظف
' مع تحديد المعامل الثاني وهي لتحديث بيانات وليس عرض البيانات فقط
Dim frm As New Form2(Val(Me.ListView1.SelectedItems(0).Text), True)
If frm.ShowDialog(Me) = Windows.Forms.DialogResult.Yes Then
' ListView قم بتحديث
End If
End Sub
End Class
السلام عليكم ورحمة الله وبركاته
13-10-13, 10:46 AM
جزاك الله خيرا اخى ابو رائد
حدرتك وضحت لى هذه الطريقة من قبل
وهى بالفعل ما كنت اعمل به
لاكن انا اريد تغير اصل المتغير
وفكرة اخى الشاكر لله كويسة
بحيث انى عامل فى السيليوشن 6 مشاريع
مش معقول كل شوية امرر المتغير ( هيزهق منى ) ههه
عملت مشروع جديد مكتبات كلاسات وعملت موديول عام وعملت المتغير فيه عام ايضا
كده كل المشاريع فى نفس السيليوشن تقدر تصل اليه وتغير قيمته
انتا عارف ايه هو المتغير ده اهم متغير فى حياتى
هو متغير يحمل بينات المستخدم مشفرة
ههه ربنا يبعد عننا الهكر ويجعل كلامنا خفيف عليهم
حدرتك وضحت لى هذه الطريقة من قبل
وهى بالفعل ما كنت اعمل به
لاكن انا اريد تغير اصل المتغير
وفكرة اخى الشاكر لله كويسة
بحيث انى عامل فى السيليوشن 6 مشاريع
مش معقول كل شوية امرر المتغير ( هيزهق منى ) ههه
عملت مشروع جديد مكتبات كلاسات وعملت موديول عام وعملت المتغير فيه عام ايضا
كده كل المشاريع فى نفس السيليوشن تقدر تصل اليه وتغير قيمته
انتا عارف ايه هو المتغير ده اهم متغير فى حياتى
هو متغير يحمل بينات المستخدم مشفرة
ههه ربنا يبعد عننا الهكر ويجعل كلامنا خفيف عليهم