من به تازگی دارم زبان #c
آموزش میبینم یک پروژه
به من دادن درموردکنترل
RichTextBox
لطفا تحوه search کردن با
استفاده ازاین کنترل به من بگین...
واینکه با کمک #c
2005 باشه
Printable View
من به تازگی دارم زبان #c
آموزش میبینم یک پروژه
به من دادن درموردکنترل
RichTextBox
لطفا تحوه search کردن با
استفاده ازاین کنترل به من بگین...
واینکه با کمک #c
2005 باشه
سلام دوست عزیزنقل قول:
ابتدا یک Button وارد فرم کنید و نام ان را btnFind قرار دهید و سپس یک TextBox در فرم قرار دهید و نام ان را txtSearch قرار دهید و در اخر یک RichTextBox در فرم قرار دهید و نام ان را rtb قرار دهید .
ما قصد داریم یک متن را داخل RichTextBox بنویسیم و سپس با نوشتن یک کلمه داخل TextBox و زدن دکمه Find ان کلمه را داخل متن جستجو کنیم .
ابتدا 2 متغیر به صورت زیر در فرم خودت تعریف کنید .
کد:int start = 0;
int indexOfSearchText = 0;
حالا روی دکمه btnFind دوبار کلیک کنید تا وارد رویداد click ان شوید و دستورات زیر را به ان اختصاص دهید .
کد:private void btnFind_Click(object sender, EventArgs e)
{
int startindex = 0;
if (txtSearch.Text.Length > 0)
startindex = FindMyText(txtSearch.Text.Trim(), start, rtb.Text.Length);
if (startindex >= 0)
{
rtb.SelectionColor = Color.Red;
int endindex = txtSearch.Text.Length;
rtb.Select(startindex, endindex);
start = startindex + endindex;
}
}
سپس یک متد به نام FindMyText برای پیدا کردن کلمه می نویسیم .
کد:public int FindMyText(string txtToSearch, int searchStart, int searchEnd)
{
if (searchStart > 0 && searchEnd > 0 && indexOfSearchText >= 0)
{
rtb.Undo();
}
int retVal = -1;
if (searchStart >= 0 && indexOfSearchText >= 0)
{
if (searchEnd > searchStart || searchEnd == -1)
{
indexOfSearchText = rtb.Find(txtToSearch, searchStart, searchEnd, RichTextBoxFinds.None);
if (indexOfSearchText != -1)
{
retVal = indexOfSearchText;
}
}
}
return retVal;
}
و در اخر در رویداد TextChanged مربوط به Textbox دستور زیر را وارد کنید .
کد:private void txtSearch_TextChanged(object sender, EventArgs e)
{
start = 0;
indexOfSearchText = 0;
}
حالا برنامه را اجرا کنید و یک متن داخل RichTextBox بنویسید و سپس یک کلمه که داخل متن باشد را در قسمت TextBox بنویسید و روی دکمه Find کلیک کنید .
موفق باشید :)
ممنونم....لطف کردی:)