Я создаю приложение блокнота на c # с использованием параллельной библиотеки задач, но при применении я применяю функцию поиска, и весь пользовательский интерфейс застревает.Я пытался вызвать метод, но все равно он не помог.Ниже приводится функция поиска.
private void toolStripButton1_Click_1(object sender, EventArgs e)
{
Parallel.For(0, GetRichTextBox().Text.LastIndexOf(toolStripTextBox1.Text) + 1, (int i) =>
{
GetRichTextBox().Find(toolStripTextBox1.Text, i, GetRichTextBox().TextLength, RichTextBoxFinds.None);
GetRichTextBox().SelectionBackColor = Color.Orange;
i = GetRichTextBox().Text.IndexOf(toolStripTextBox1.Text, i) + 1;
});
}
Следующий код является методом GetRichTextBox.
public RichTextBox GetRichTextBox()
{
Invoke(new MethodInvoker(delegate ()
{
TabPage tp = tabControl1.SelectedTab;
if(tp!= null)
{
rtb = tp.Controls[0] as RichTextBox;
}
}));
return rtb;
}