پیام حیاتی
شنبه 27 تیر 1394, 13:58 عصر
سلام
فرض کنید جمله زیر را در یک TextBox توسط کاربر وارد شده است :
This is My Computer.It's Very Old.
حال می خواهیم با کلیک بر روی دکمه در بین رشته جستجو کنیم ببینیم کلمات Computer و Old وارد شده اند یا خیر.
به چه شکل باید این کار رو انجام بدیم؟
تشکر.
rg_BlackRose
شنبه 27 تیر 1394, 15:24 عصر
سلام
اگر از تکست باکس استفاده میکنید، میتونید از کد زیر استفاده کنید
string text = textBox1.Text.ToUpper();
int i = text.IndexOf(textBox2.Text.ToUpper());
if(i >= 0)
MessageBox.Show(string.Format("Text Find in {0} to {1}", i, i+textBox2.TextLength));
ولی ریچ تکست باکس امکانات بیشتری در اختیارتون قرار میده، میتونید متن مورد نظرتون رو رنگی کنید و یا رنگ زمینه متن مورد نظر رو رنگی کنید و ...
تابع جستجو:
public int FindMyText(string txtToSearch, int searchStart, int searchEnd)
{
int indexOfSearchText = 0;
// Unselect the previously searched string
if (searchStart > 0 && searchEnd > 0 && indexOfSearchText >= 0)
{
richTextBox1.Undo();
}
// Set the return value to -1 by default.
int retVal = -1;
// A valid starting index should be specified.
// if indexOfSearchText = -1, the end of search
if (searchStart >= 0 && indexOfSearchText >= 0)
{
// A valid ending index
if (searchEnd > searchStart || searchEnd == -1)
{
// Find the position of search string in RichTextBox
indexOfSearchText = richTextBox1.Find(txtToSearch, searchStart, searchEnd, RichTextBoxFinds.None);
// Determine whether the text was found in richTextBox1.
if (indexOfSearchText != -1)
{
// Return the index to the specified search text.
retVal = indexOfSearchText;
}
}
}
return retVal;
}
برای جستجو هم از کد زیر استفاده کنید
int i = FindMyText(textBox3.Text, 0, richTextBox1.TextLength);
MessageBox.Show(string.Format("Text Find in {0} to {1}", i, i+textBox3.TextLength));
نمونه برنامه با دات نت 3.5 نوشته شده
133360
موفق باشید
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.