PDA

View Full Version : جست و جو در لیست باکس !؟



alnajon
سه شنبه 08 مرداد 1392, 13:14 عصر
با سلام

دوستان من داخل نرم افزار یک لیست باکس دارم که داخلش ایتم های مختلفی قرار داره .

حالا من میخواهم یک تکست باکس کنارش بذارم که هر چی توی این تکست باکس مینویسیم سریع توی لیست باکس جست و جو کنه و ایتم های اضافه رو پاک کنه .

مثلا لیست باکس ما این ایتم ها رو داره :

ali
farhad
majid
alireza
farbod
fateme
ahmad

خب . حالا میخواهم اگر توی تکست باکس حرف a تایپ شد فقط این ایتم ها بمونن :

ali
alireza
ahmad

و اگر دو حرف al تایپ شدند فقط ali و alireza بمونن !!

خب چطور این کار ها رو بکنم ؟!!؟ لطفا اگر سورس یا پروژه آماده ارائه بدید ممنون میشم

با تشکر

saeedchoopani
سه شنبه 08 مرداد 1392, 13:22 عصر
از event keyup تکست باکس استفاده کن.در هر بار زدن کلید لیسا باکس رو رفرش کن

alnajon
سه شنبه 08 مرداد 1392, 13:32 عصر
از event keyup تکست باکس استفاده کن.در هر بار زدن کلید لیسا باکس رو رفرش کن

داداش تقریبا فهمیدم چی میگی ، ولی چون در حد مبتدی هستم ، اگر میشه نمونه یا کدی قرار بدید ممنون میشم .

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

با تشکر

c-sharp_South
سه شنبه 08 مرداد 1392, 14:27 عصر
بفرمایید این کد چیزی است که میخواستید.


private void textBox1_TextChanged(object sender, EventArgs e)
{
string myString = textBox1.Text;
int index = listBox1.FindString(myString, -1);
if (index != -1)
{
listBox1.SetSelected(index, true);
}
}

gilas1368
سه شنبه 08 مرداد 1392, 14:37 عصر
فک کنم این بتونه کمکت کنه

این برنامه لیست درایوها رو میگیره و فقط پوشه های داخل اون درایو یا اون پوشه رو نمایش میده

جستجو پوشه رو هم داره


108176

alnajon
سه شنبه 08 مرداد 1392, 19:08 عصر
بفرمایید این کد چیزی است که میخواستید.


private void textBox1_TextChanged(object sender, EventArgs e)
{
string myString = textBox1.Text;
int index = listBox1.FindString(myString, -1);
if (index != -1)
{
listBox1.SetSelected(index, true);
}
}


با تشکر
ولی این کد زیاد جالب نبود ، یعنی اون چیزی که میخواهم نیست
دوستان من اصلا فقط میخواهم توی لیست باکس جست و جو کنه ، همین

راستی سورس شما اگر کلمه ای در وسط یک ایتم باشه و جست و جو بشه ، پیدا نمیکنه . دیگه کسی نمیتونه کمکم کنه !؟

alnajon
سه شنبه 08 مرداد 1392, 22:34 عصر
دوستان راهنمایی نمیکنید ، حالا اگر ایتم های اضافی رو هم پاک نکرد مشکلی نیست ، فقط میخواهم یه سرچ کوچیک توی لیست باکس انجام بده . ممنون

aliagamon
سه شنبه 08 مرداد 1392, 23:09 عصر
والا وقت ندارم چیزی بنویسم اینو قبلا داشتم تو یه برنامه استفاده کردم:
این تابع رو به برنامه اضافه کن

private void FindAllOfMyString(string searchString)
{

ListBox1.SelectionMode = SelectionMode.MultiExtended;


int x = -1;

if (searchString.Length != 0)
{
do
{

x = ListBox1.FindString(searchString, x);

if (x != -1)
{

if (ListBox1.SelectedIndices.Count > 0)
{
if (x == ListBox1.SelectedIndices[0])
return;
}

ListBox1.SetSelected(x, true);
}
} while (x != -1);
}
}

تو keyup تکست باکست اینو بنویس:

ListBox1.SelectedIndex = -1;
FindAllOfMyString(textBox1.Text);

alnajon
سه شنبه 08 مرداد 1392, 23:47 عصر
والا وقت ندارم چیزی بنویسم اینو قبلا داشتم تو یه برنامه استفاده کردم:
این تابع رو به برنامه اضافه کن

private void FindAllOfMyString(string searchString)
{

ListBox1.SelectionMode = SelectionMode.MultiExtended;


int x = -1;

if (searchString.Length != 0)
{
do
{

x = ListBox1.FindString(searchString, x);

if (x != -1)
{

if (ListBox1.SelectedIndices.Count > 0)
{
if (x == ListBox1.SelectedIndices[0])
return;
}

ListBox1.SetSelected(x, true);
}
} while (x != -1);
}
}

تو keyup تکست باکست اینو بنویس:

ListBox1.SelectedIndex = -1;
FindAllOfMyString(textBox1.Text);


خیلی ممنون ، ولی این کد هم همون مشکل رو داره . یعنی اگر یه کلمه وسط باشه و اون رو جست و جو کنیم پیدا نمیکنه !

یعنی اگر یک ایتم این باشه :

barname navis is good site

خب . حالا اگر ما good رو تایپ کنیم این ایتم رو پیدا نمیکنه !!!