PDA

View Full Version : سوال: نمایش قرمز رنگ عبارت مورد جستجو در RichTextBox



babak1
پنج شنبه 21 بهمن 1389, 20:00 عصر
سلام :
من این برنامه رو تست کردم .تحت شرایطی "rtb.undo()" (خط ستاره دار) هم اجرا میشه ولی 2 سوال داشتم :
1- چرا undo اصلا عمل نمی کنه!!
2- اصلا چرا نوشته شده ؟





int start = 0;
int indexOfSearchText = 0;

private void button1_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;
}
}

private 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;
}


با تشکر.