منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : كيف أضيف المواد في ComboBox إلى ComboBox آخر في فورم آخر
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
الأخوة الأعزاء

لدي Form1 و Form2 وكل واحد فيه ComboBox أريد أي مادة في الكومبوبوكس الفورم الأول تكون متطابقة مع الكومبوبوكس الفورم الثاني عملت هذا الكود ولكن لم ينفع

كود :
ComboBox1.text = Form1.ComboBox1.text
ارفع مشروع بالمشكلة .. 
حتى يكون الجواب مطابق لما تريد ..
تفضل أخي

في الفورم 1 كومبوبوكس به أسماء دول والفورم 2 فيه أيضاً كومبوبوكس ولكن فارغ أريد تعبئته بالبيانات الموجود في الكومبوبوكس الفورم 1 بحيث إذا حذفت أو أضفت بيانات في الفورم 2 يضاف تلقائياً بالفورم 1 أي بمعنى آخر أريد الإثنين كأنهم واحد مربوطين مع بعض كأنهم مراية لبعض
كود :
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
   For Each i1 In Form1.ComboBox1.Items        '   نسخ بيانات القائمة في النافذة1 للقائمة في هذه النافذة
       ComboBox1.Items.Add(i1)
   Next
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
   ComboBox1.Items.Add(TextBox1.Text)
   Form1.ComboBox1.Items.Add(TextBox1.Text)
End Sub



كذلك تفعل بالحذف إذا أردت الحذف - 
ما تفعله على الأداة في نافذة 2 - تنفذه على الأداة في النافذة1
(24-09-24, 01:45 PM)Taha Okla كتب : [ -> ]
كود :
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
   For Each i1 In Form1.ComboBox1.Items        '   نسخ بيانات القائمة في النافذة1 للقائمة في هذه النافذة
       ComboBox1.Items.Add(i1)
   Next
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
   ComboBox1.Items.Add(TextBox1.Text)
   Form1.ComboBox1.Items.Add(TextBox1.Text)
End Sub



كذلك تفعل بالحذف إذا أردت الحذف - 
ما تفعله على الأداة في نافذة 2 - تنفذه على الأداة في النافذة1

هذا بالضبط ما أردته الله يعطيك العافية وجزاك الله خير

لكن توجد مشكلة وهي عندما أخرج من البرنامج لا يحفظ الإدخالات
اذا أردت حفظ الادخالات عليك أن تتعامل مع قواعد البيانات ..
أدخل ع اليويتيوب وشاهد دروس عن تعلم
 VB.net مع قواعد البيانات: ( Access) أو (SQLite)  أو  (SQL Server)
(24-09-24, 02:36 PM)Taha Okla كتب : [ -> ]اذا أردت حفظ الادخالات عليك أن تتعامل مع قواعد البيانات ..
أدخل ع اليويتيوب وشاهد دروس عن تعلم
 VB.net مع قواعد البيانات: ( Access) أو (SQLite)  أو  (SQL Server)

الله يعطيك العافية إن شاء الله راح أحاول التعامل مع قواعد البيانات في تعبئة الكمبوبوكس
طريقة بدون قواعد بيانات - مع (ملف XML)

في النافذة الأولى أكتب الكود :

كود :
Imports System.IO

Module Module1
   Public tDTx As New DataTable

   Public Sub dtCombo(pComboBox As ComboBox)
       pComboBox.ValueMember = "Country"
       pComboBox.DisplayMember = "Country"
       pComboBox.DataSource = tDTx
   End Sub

   Public Sub AddTo_tDTx(pText As String)
       tDTx.Rows.Add(pText)
       tDTx.WriteXml("tCountries.xml")
   End Sub

   Public Sub RemoveFrom_tDTx(pIndex As Integer)
       tDTx.Rows.RemoveAt(pIndex)
       tDTx.WriteXml("tCountries.xml")
   End Sub
End Module

Public Class Form1
   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       tDTx.Columns.Add("Country")
       tDTx.TableName = "Countries"

       dtCombo(ComboBox1)

       If File.Exists("tCountries.xml") Then
           tDTx.ReadXml("tCountries.xml")
       End If

       Form2.Show()
   End Sub
End Class



في النافذة الثانية أكتب الكود :
كود :
Public Class Form2
   Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       dtCombo(ComboBox1)
   End Sub

   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       AddTo_tDTx(TextBox1.Text)
       TextBox1.Text = ""
       TextBox1.Focus()
   End Sub

   Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
       RemoveFrom_tDTx(ComboBox1.SelectedIndex)
   End Sub
End Class
(24-09-24, 08:01 PM)Taha Okla كتب : [ -> ]طريقة بدون قواعد بيانات - مع (ملف XML)

في النافذة الأولى أكتب الكود :

كود :
Imports System.IO

Module Module1
   Public tDTx As New DataTable

   Public Sub dtCombo(pComboBox As ComboBox)
       pComboBox.ValueMember = "Country"
       pComboBox.DisplayMember = "Country"
       pComboBox.DataSource = tDTx
   End Sub

   Public Sub AddTo_tDTx(pText As String)
       tDTx.Rows.Add(pText)
       tDTx.WriteXml("tCountries.xml")
   End Sub

   Public Sub RemoveFrom_tDTx(pIndex As Integer)
       tDTx.Rows.RemoveAt(pIndex)
       tDTx.WriteXml("tCountries.xml")
   End Sub
End Module

Public Class Form1
   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       tDTx.Columns.Add("Country")
       tDTx.TableName = "Countries"

       dtCombo(ComboBox1)

       If File.Exists("tCountries.xml") Then
           tDTx.ReadXml("tCountries.xml")
       End If

       Form2.Show()
   End Sub
End Class



في النافذة الثانية أكتب الكود :
كود :
Public Class Form2
   Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       dtCombo(ComboBox1)
   End Sub

   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       AddTo_tDTx(TextBox1.Text)
       TextBox1.Text = ""
       TextBox1.Focus()
   End Sub

   Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
       RemoveFrom_tDTx(ComboBox1.SelectedIndex)
   End Sub
End Class

كثر الله خيرك أخ طه وجزاك الله خير على المساعدة

شغلك ممتاز ورائع 

بس ليش لازم أشغل الفورم 2 مع تشغيل الفورم 1
Form2.Show
راجع الاكواد عندك 
عندي شغال حتى لو أغلقت البرنامج وشغلته 
أو أغلقت أي نافذة وشغلتها..
فيك تستخدم الأكواد في أكثر من نافذة بالبرنامج..
ما دخلها بالفتح والاغلاق
لكن أعرف وين تكتب أكوادك ..



هذا مثال  ..

أنت أختار شو بدك تفتح وشو ما بدك تفتح 
هذا مو اجباري ..
الصفحات : 1 2