PDA

View Full Version : سوال: ADD کردن یک مقدار در ListBox به شرط تکراری نبودن



c-sharp_South
چهارشنبه 26 مهر 1391, 10:52 صبح
سلام دوستان.
ببخشید یک سوال داشتم.
فکر کنین یک مقدار رو توی تکست باکس نوشتم و حالا میخواهیم روی یک button کلیک کنید که
متن توی تکس باکس رو توی لیست باکس اضافه کنه.
الان تا اینجا که مشکلی نیست .
فقط میخوام قبلش چک کنه و اگه اون مقدار قبلا در لیست باکس ثبت نشده بود ثبت کنه
یعنی از دو بار ثبت کردن یک مقدار جلوگیری کنه.
ممنون میشم راهنماییم کنین.
یا حق

حسین شهریاری
چهارشنبه 26 مهر 1391, 11:12 صبح
for(int i=0;i<ListBox.Items.Count;i++)
if(ListBox.Items[i]==TextBox.Text)
بعد از if هرچی میخای بنویس

c-sharp_South
چهارشنبه 26 مهر 1391, 11:38 صبح
مرسی . نتونستم درستش کنم.
میشه یک خورده کامل تر سورس رو بزارید؟
این میان توی لیست باکس add میکنه متن تکست رو.

listBox1.Items.Add(textBox1.Text);
ادامشو که گفتین خوب متوجه نشدم.

harani
چهارشنبه 26 مهر 1391, 11:53 صبح
تو رویداد باتنت اینو بنویس .


if (listBox1.Items.IndexOf(textBox1.Text) == -1)//a
listBox1.Items.Add(textBox1.Text);//b

hakim22
چهارشنبه 26 مهر 1391, 16:38 عصر
از قابلیت ListBox1.items.contains استفاده کنید.
اول بگم که در یک لیست باکس میشه هر نوع شی رو دخیره کرد (مثل ArrayList)
پس شما وقتی لیستی از String دارید حتما باید قبل از استفاده از Contains مقدار ورودی رو cast کنید.
مثلا :

ListBox1.items.contains((string)"CustomerName")


اینجوری اگر در لیست رشته ای با مقدار CustomerName وجود داشته باشه مقدار True برگردانده میشه

danialafshari
چهارشنبه 26 مهر 1391, 17:44 عصر
private void button1_Click(object sender, EventArgs e)
{
if (!listBox1.Items.Contains((string)textBox1.Text.Tr im().ToString()))
{
listBox1.Items.Add(textBox1.Text.Trim());
}
else
{
MessageBox.Show("تکراری است");
}
}