(07-06-18, 03:10 PM)بيسك لكل العرب كتب : [ -> ]السلام عليكم لدي حوال 15 فورم بنفس الصورة الاختلاف فقط في الاقسام وعندي فورم اضافة وبحث واريد استخدامه مع كل الفورم الموجودة عن طريق متغير حتي لا اقوم بتكرار الكود او عمل اكتر من فورم اضافة وبحث
ومشكلة الكود ان متغير لا يكون String وقمت بأكثر من طريقة ولكن لم تنجح
كود :
"Dim Formname As String = "SearchForm
Formname.Dgv1.DataSource = dt
[b]وشكرا أخي عبد الله[/b]
اذا كان ال 15 فورم كلها بنفس الشكل مع اختلاف المعروض
يمكنك أن تختصرهم الى نموذج واحد فقط
مع تغيير البيانات المعروضة حسب ما تريد
(07-06-18, 06:34 PM)جمشelgokr كتب : [ -> ] (07-06-18, 05:12 PM)بيسك لكل العرب كتب : [ -> ] (07-06-18, 04:09 PM)elgokr كتب : [ -> ]للاسف انا لا افهم ما تريده بعد حتى بعد مراجعة وقراءة كل الردود اكثر من مرة
ما هى البيانات المطلوب نسخها او نقلها فى باقي الفورم
وما الذى تريده فعله بضبط
مثلاً لديك form1 ويحتوى على بيانات اى بيانات هنا المقصود
لنسخها او تكرارها فى form2 وغيره
كلما وضحت وبسط ما تريده كلما وجت الكود المطلوب
تحياتى لك
اخي المطلوب كالاتي
عندي فورم رئيسي به استدعاء اريد ارسل الاستدعاء إلي تكست بوكس او قريد فيو
لاي فورم اقوم بتحديد اسمه في الفروم الرئيسي
وشكرا
اذا كان الامر كما انت تقول ارسال قيمة استعلام الى فورم اخر
كل ما عليك فعله هو التالى
لنقول ان Form1 يحتوى على Textbox1
وتريد ارسال قيمته الى Textbox1 الموجود بـ Form2
فكل ما عليك هو عمل التالى
كود :
Form2.textbox1.text = Textbox1.text
مع العلم يجب ان يكون Form2 يعمل وليس مغلق
ولفتح الفورم وتنفيذ الكود به اجعل الكود كالتالى
كود :
Form2.Show()
Form2.TextBox1.Text = TextBox1.Text
بمعنى انت قمت بعمل كود الاستعلام واصبح قيمة الاستعلام فى dt
كل ما عليك فعله هو
كود :
Form2.Show()
Form2.DataGridView1.DataSource = dt
او
كود :
Form2.Show()
Form2.TextBox1.Text = dt.Rows(0)(0).ToString()
اتمنى يكون هذا ما تريده واكون بسط الامر لك
كما يمكنك عمل Class مخصص لامور الاستعلام والاضافة والتعديل والحذف
وكل ما عليك هو استدعاء الكلاس فى الفورم المطلوب حسب رغبتك
ليصبح الشكل فى الفورم بهذا الشكل
كود :
dt = Class_.Get_Filter_Data()
تحياتى لك
وتمنياتى لك التوفيق
مشكور اخي علي تفاعلك وجزاك الله كل خيرا واعاد الله عليك رمضان ايام عديدة وازمنة مديدة
ولكن النطلوب هنا متغير لي form2 يغير من فورم 2 الي فورم 3 بناء علي قيمة او اسم التكست بوكس ارجو وضحت الصورة ومشكور مرة اخري
(08-06-18, 01:34 AM)mrnooo2000 كتب : [ -> ] (07-06-18, 03:10 PM)بيسك لكل العرب كتب : [ -> ]السلام عليكم لدي حوال 15 فورم بنفس الصورة الاختلاف فقط في الاقسام وعندي فورم اضافة وبحث واريد استخدامه مع كل الفورم الموجودة عن طريق متغير حتي لا اقوم بتكرار الكود او عمل اكتر من فورم اضافة وبحث
ومشكلة الكود ان متغير لا يكون String وقمت بأكثر من طريقة ولكن لم تنجح
كود :
"Dim Formname As String = "SearchForm
Formname.Dgv1.DataSource = dt
[b]وشكرا أخي عبد الله[/b]
اذا كان ال 15 فورم كلها بنفس الشكل مع اختلاف المعروض
يمكنك أن تختصرهم الى نموذج واحد فقط
مع تغيير البيانات المعروضة حسب ما تريد
السلام عليكم اخي هناك اخلاف بسيط في النماذج والحل هوا ان شاء متغير لاسم الفورم ولم اتوصل لي هذا المتغير متلا متغير التكست String فما هو متغير الفورم علما بأن متغير Object لم ينجح وشكرا
(08-06-18, 05:25 PM)elgokr كتب : [ -> ]فقط استخدم الكود التالى
كود :
Dim ff As Form1 = New Form1()
اذا كان هذا ما تقصده
تحياتى لك
السلام عليكم مشكوراخي elgkr علي تعاونك والكود تمام وشغال بدون new ولكن مااريده هوا المتغير ff يكون لي اكتر من فورم ارجو الافادة وشكرا
يا أخى لو وضعت مثال لما تريد لاختصرت الوقت على نفسك و على غيرك
(09-06-18, 01:46 AM)mrnooo2000 كتب : [ -> ]يا أخى لو وضعت مثال لما تريد لاختصرت الوقت على نفسك و على غيرك
(09-06-18, 01:57 AM)elgokr كتب : [ -> ] (09-06-18, 01:46 AM)mrnooo2000 كتب : [ -> ]يا أخى لو وضعت مثال لما تريد لاختصرت الوقت على نفسك و على غيرك
اتفق معاك تماماً
السلام عليكم
أخوتي اسف على الإطالة واضف اليكم المثال والخطاء يوجد في فورم AB
وشكرا على تعاونكم الدائم
بالحالة دى اذا كنت من هاوى الاكواد
ولديك الخبرة فوق المتوسطة
فى هذه الحالة ستحتاج الى متابعة هذا الموضوع
تحياتى لك
وتمنياتى لك التوفيق
هو نفس الكود الى ارسلته من البداية و لكن مع بعض الضبط
1- أضف هذا السطر أعلى كود النموذج
كود :
Imports System.Reflection
2- أضف هذه الدالة
كود :
Public Shared Function CreateObjectInstance(ByVal objectName As String) As Object
' Creates and returns an instance of any object in the assembly by its type name.
Dim obj As Object
Try
If objectName.LastIndexOf(".") = -1 Then
'Appends the root namespace if not specified.
objectName = [Assembly].GetEntryAssembly.GetName.Name & "." & objectName
End If
obj = [Assembly].GetEntryAssembly.CreateInstance(objectName)
Catch ex As Exception
obj = Nothing
End Try
Return obj
End Function
3- ضع هذا الكود فى حدث ضغط الزر مع ملاحظة تعديل اسم الداتا جريد لما لديك
كود :
Dim Frm As Form = DirectCast(CreateObjectInstance(TextBox1.Text), Form)
dt.Clear()
da = New OleDbDataAdapter("Select * from AA where AA >1 ", Conn)
da.Fill(dt)
DirectCast(frm.Controls("DataGridView1"), DataGridView).DataSource = dt
frm.ShowDialog()
(10-06-18, 04:01 AM)mrnooo2000 كتب : [ -> ]هو نفس الكود الى ارسلته من البداية و لكن مع بعض الضبط
1- أضف هذا السطر أعلى كود النموذج
كود :
Imports System.Reflection
2- أضف هذه الدالة
كود :
Public Shared Function CreateObjectInstance(ByVal objectName As String) As Object
' Creates and returns an instance of any object in the assembly by its type name.
Dim obj As Object
Try
If objectName.LastIndexOf(".") = -1 Then
'Appends the root namespace if not specified.
objectName = [Assembly].GetEntryAssembly.GetName.Name & "." & objectName
End If
obj = [Assembly].GetEntryAssembly.CreateInstance(objectName)
Catch ex As Exception
obj = Nothing
End Try
Return obj
End Function
3- ضع هذا الكود فى حدث ضغط الزر مع ملاحظة تعديل اسم الداتا جريد لما لديك
كود :
Dim Frm As Form = DirectCast(CreateObjectInstance(TextBox1.Text), Form)
dt.Clear()
da = New OleDbDataAdapter("Select * from AA where AA >1 ", Conn)
da.Fill(dt)
DirectCast(frm.Controls("DataGridView1"), DataGridView).DataSource = dt
frm.ShowDialog()
السلام عليكم
أخي لم بنجح الكود هل يمكنك تطبيقه على مثال إذا تكرمت واسف على الإطالة وشكرا