PDA

View Full Version : مبتدی: جلوگیری از اضافه کردن آیتم تکراری در Listbox1



karem2074
دوشنبه 12 دی 1390, 21:42 عصر
سلام
دوستان من کد جلوگیری از اضافه کردن آیتم تکراری در Listbox1 رو میخوام.میخوام وقتی آیتم از قبل وجود داشت پیغام خطا بده.ممنون میشم راهنماییم کنید.
با تشکر

Samsam2010
دوشنبه 12 دی 1390, 22:53 عصر
از for استفاده کن

مثلا
dim is_string as boolian = false
for i= 0 to listbox1.items.count-1
if litsbox1.items(0).tostring = text1.text
Is_string=false
exit for
end if
next

if Is_string = true then
listbox1.items.add(textbox1.text)
end if

البته این کد رو برای مثال نوشتم به نحو دیگر هم میتونی استفاده کنی

mgh64120
دوشنبه 12 دی 1390, 22:58 عصر
سلام
دوست عزيز Samsam2010 زحمت كشيدن زودتر نمونه كد رو حاضر كردند.
خوب اينم از نمونه كد من :

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim strNewItem As String
strNewItem = InputBox("!آيتم جديد را وارد نمائيد", "ايتم جديد")
'
If strNewItem.Trim.Length > 0 Then
If Item(strNewItem) = False Then MsgBox(".آيتم مورد نظر تكراري است")
End If
End Sub
Private Function Item(ByVal StrNewItem As String) As Boolean
If ListBox1.Items.Count > 0 Then
ListBox1.SelectedIndex = 0
Do Until ListBox1.SelectedIndex = ListBox1.Items.Count - 1
If ListBox1.Text = StrNewItem Then
Return False
Else
ListBox1.SelectedIndex += 1
End If
Loop
Return True
End If
End Function

موفق باشيد...

mgh64120
دوشنبه 12 دی 1390, 23:08 عصر
سلام دوستان
يه سئوال : چطور مي تونم توسط دستور For Each اين كار رو انجام بدم،
تا يه حدي نوشتم ولي نمي دونم در كد زير به جاي علامت ؟؟؟؟؟ چي بزارم؟


For Each Item As ????? In ListBox1.Items
If ListBox1.Text = StrNewItem Then
MsgBox("آيتم تكراري")
End If
Next

موفق باشيد...

alimanam
دوشنبه 12 دی 1390, 23:18 عصر
با سلام


دوستان من کد جلوگیری از اضافه کردن آیتم تکراری در Listbox1 رو میخوام.میخوام وقتی آیتم از قبل وجود داشت پیغام خطا بده.ممنون میشم راهنماییم کنید.میدونم دوستان لطف کردن و کدش رو به یک روش دیگه گفتن اما این هم روشی که همیشه استفاده کردم گفتم شاید جنبه آموزشی داشته باشه .

If Not ListBox1.Items.Contains(TextBox1.Text) Then ListBox1.Items.Add(TextBox1.Text)


يه سئوال : چطور مي تونم توسط دستور For Each اين كار رو انجام بدم،
تا يه حدي نوشتم ولي نمي دونم در كد زير به جاي علامت ؟؟؟؟؟ چي بزارم؟

روش صحیح تر رو در کد بالا عنوان کردم اما اگه جواب سوالتون رو میخواین این میشه :

For Each Item As String In ListBox1.Items
If Item.ToString = TextBox1.Text Then
MsgBox(" تکراریه " + Item.ToString & " کلمه ")
End If
Next




موفق باشید ./

b.saminjad
دوشنبه 12 دی 1390, 23:20 عصر
سلام

با این صورت میتونی از for each استفاده کنی


Dim j As Boolean


For Each s As String In ListBox1.Items
If s = TextBox1.Text Then
MessageBox.Show("داده وارد شده وجود دارد")

j = True
End If


Next


If j = False Then
ListBox1.Items.Add(TextBox1.Text)

End If

Samsam2010
دوشنبه 12 دی 1390, 23:26 عصر
For Each a As Object In ListBox1.Items
If a.ToString = TextBox1.Text Then

MsgBox("تکراری")
End If
Next

karem2074
سه شنبه 13 دی 1390, 14:39 عصر
دوستان چطوری میتونم از حذف یک آیتم خودداری کنم؟
مثلا تو Listbox1 آیتم Test1 وجود داره.اگه وقتی خواستن حذف کنن پیغام خطا نشون بده.
ممنون میشم راهنمایی کنین

alimanam
سه شنبه 13 دی 1390, 15:30 عصر
دوستان چطوری میتونم از حذف یک آیتم خودداری کنم؟
مثلا تو Listbox1 آیتم Test1 وجود داره.اگه وقتی خواستن حذف کنن پیغام خطا نشون بده.
ممنون میشم راهنمایی کنین
If ListBox1.Items.Contains("Test1") Then
If Not ListBox1.SelectedItem.ToString = "Test1" Then
ListBox1.Items.Remove(ListBox1.SelectedItem)
Else
MsgBox("شما اجازه حذف این آیتم را ندارید")
End If
End If

موفق باشید./

karem2074
سه شنبه 13 دی 1390, 22:08 عصر
دوست عزیز الان این کد یکجاش مشکل داره!
مثلا اگه آیتم Test رو به صورت tEst و یا شکل های دیگر نظیر TeSt , tEST و ... بنویسی تو listbox1 اضافه میشه.یعنی اگه آیتم با یک نام باشه و فقط به صورت حروف کوچک و بزرگ باشه تو listbox1 اضافه میکنه.من میخوام اضافه نشه.
ممنون میشم یک کد جدید بذارید.

Hossein Bazyan
چهارشنبه 14 دی 1390, 01:38 صبح
دوست عزیز الان این کد یکجاش مشکل داره!
مثلا اگه آیتم Test رو به صورت tEst و یا شکل های دیگر نظیر TeSt , tEST و ... بنویسی تو listbox1 اضافه میشه.یعنی اگه آیتم با یک نام باشه و فقط به صورت حروف کوچک و بزرگ باشه تو listbox1 اضافه میکنه.من میخوام اضافه نشه.
ممنون میشم یک کد جدید بذارید.


If ListBox1.Items.Contains("Test1") Then
If Not ListBox1.SelectedItem.ToString.ToLower = "Test1".ToLower Then
ListBox1.Items.Remove(ListBox1.SelectedItem)
Else
MsgBox("شما اجازه حذف این آیتم را ندارید")
End If
End If