Я пишу приложение формы в c #, и мне нужно иметь возможность изменять содержимое Rich Text Box из любого потока, я попытался использовать делегат и InvokeRequired , но делегат, который я сделал, по-прежнему выдает ошибку межпотокового вызова, и InvokeRequired завершает работу формы, не выдавая ошибку.Функция, которую мне нужно выполнить из любого потока:
public static void updateSub(int what)
{
subDisplay.subBox.Text = tb[what];
}
Делегат, которого я пытался использовать:
public delegate void UpdateDelegateVoid(int what);
static public UpdateDelegateVoid uSub = new UpdateDelegateVoid(updateSub);
uSub(0);
Мой код InvokeRequired:
public static void updateSub(int what)
{
if (subDisplay.subBox.InvokeRequired)
{
subDisplay.subBox.Invoke(new MethodInvoker(finish));
}
else
{
subDisplay.subBox.Text = tb[what];
}
}
Я не совсем уверен, почему приведенный выше код не работает.Спасибо!