مرحبا
انا لدي مشروع ويحتوي على اداة listbox وفيها مجموعة ارقام
فكيف نمنع تكرار الارقام
وعند نزول ارقام في listbox يضهر رسالة
حاولت في قائمة الاحداث ولا تنجح الا باالضغط على الاداة listbox
السلام عليكم اخي الكريم Dasktop
تفضل هذا المثال
الفكرة هنا اننا نضيف العنصر اولا وقد يتكرر ثم نقوم بانشاء مصفوفة من عناصر الليست بوكس كلها
ثم ننشئ مصفوفة ثانية من المصفوفة الاولى مع مراعاة عدم تكرار العناصر عبر Distinct()
ثم نفرغ الليست بوكس من كل العناصر وبعدها نضيف المصفوفة الثانية الى الليست بوكس
ولاحاجة لاظهار رسالة لان الكود كفيل بعدم ادراج العنصر الموجود سابقا
فنان اخي ابراهيم
ولاكن الاحداث نلاحظ ان الاحداث في textbox تعمل اذا اذا في ال text نص
وفي listbox لايعمل الحدث الا عندما يتم الضغط على ال listbox
مشاركة لكم احببت وضع هذا الكود
PHP كود :
If TextBox1.Text.Trim = "" Then Beep() : Exit Sub
If ListBox1.Items.Contains(TextBox1.Text) Then Beep() : Exit Sub
ListBox1.Items.Add(TextBox1.Text)
TextBox1.Clear()
طبعا حتى يكون الاستخدام متناسق اجعل Accept button للزر الاول و cancel button للزر الثاني (ماله علاقة لكن لو تحب تختصر بالنقر على زر Enter)
[
attachment=22299]
وهذا للبحث
PHP كود :
If TextBox1.Text.Trim = "" Then Beep() : Exit Sub
ListBox1.SelectedIndex = (ListBox1.FindString(TextBox1.Text))
PHP كود :
ListBox1.FindString(TextBox1.Text)
FindString يعيد متغير رقمي 0 لا شيء
شكرا ياغالي ياسعد وياسعود من غدا صديقك اصبح محسود
دائما اتشرف ببصمتك على الامثلة والردود تسد النواقص وتغني السائل عن سؤال بعد حين مولود
دمت وادام الله عليك كل الخير
في النادر من تجاربي مع البرمجة شغلة تمشي مع اكس بي ولا تعمل مع غيرها والعكس ...فوضعي الان التجارب لمعرفة الفرق (من نفس اصدار 2010 مثلا)
وضع Listbox selection mode =MultiSimple
PHP كود :
ListBox1.ClearSelected
If TextBox1.Text.Trim = "" Then Beep() : Exit Sub
For i As Integer = 0 To ListBox1.Items.Count - 1
Dim t As String = ListBox1.Items(i).ToString
If t = TextBox1.Text Then
ListBox1.SetSelected(i, True)
End If
Next
اذا سمحنا بالتكرار
فنان اخي سعود
والمشكلة هي الاحداث
اذا كتبت في حدث
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
MsgBox("ss")
End Sub
تضهر الرسالة
واذا كتبت في حدث listbox
Private Sub ListBox1_TextChanged(sender As Object, e As EventArgs) Handles ListBox1.TextChanged
MsgBox("3")
End Sub
لاتضهر الرساله الا عندما يتم الضغط على listbox ماهي المشكلة
الحدث الذي ذكرت معناه لا يكون الا اذا حدث تغيير بالنص اضافة او حذف.
في ال textbox اذا كتبت في حدث TextChanged
msgbox(ss"s)s
تضهر الرسالة اذا تم اضافة نص في textbox
كيف نضيف اذا في listbox اضافة تضهر رسالة