Как вызвать метод управления из другого потока
Я хочу позвонитьRichTextBox.Find()
из другого потока. Как я могу это сделать?RichTextBox
расположен вUserControl
который я использую в своей форме. Я хочу обновить его из другого потока. Я смог изменить его свойства, используяInvoke
, Но не могу понять, как позвонить_ucResultRich.rchResult.Find(word, startIndex, RichTextBoxFinds.None);
из моей темы.
Thread thread=new Thread(thrHighlight);
thread.Start(e.RowIndex);
private void ThrHighlight(object obj)
{
string[] words = ucSearchControls.rdbExact.Checked
? new string[] { ucSearchControls.txtSearch.Text.Trim() }
: ucSearchControls.txtSearch.Text.Split(' ');
foreach (string word in words)
{
int startIndex = 0;
while (startIndex < _ucResultRich.rchResult.TextLength)
{
int wordStartIndex = _ucResultRich.rchResult.Find(word, startIndex, RichTextBoxFinds.None);
if (wordStartIndex != -1)
{
_ucResultRich.rchResult.SelectionStart = wordStartIndex;
_ucResultRich.rchResult.SelectionLength = word.Length;
_ucResultRich.rchResult.SelectionBackColor = Color.Yellow;
}
else
break;
startIndex += wordStartIndex + word.Length;
}
}
}
Как я могу это сделать?
П.С .: Это продолжениемой первый вопрос и к комментариям @varocarbas там