есть.
Я использую C # .wpf, и я получил этот код из источника C #, но я не могу его использовать. Что-нибудь, что я должен изменить? или делать?
// Delegates to enable async calls for setting controls properties
private delegate void SetTextCallback(System.Windows.Controls.TextBox control, string text);
// Thread safe updating of control's text property
private void SetText(System.Windows.Controls.TextBox control, string text)
{
if (control.InvokeRequired)
{
SetTextCallback d = new SetTextCallback(SetText);
Invoke(d, new object[] { control, text });
}
else
{
control.Text = text;
}
}
Как и в предыдущем коде, ошибка в InvokeRequired
и Invoke
цель в том, что у меня есть текстовое поле с содержанием, которое будет увеличиваться для каждого процесса.
вот код для текстового поля. SetText(currentIterationBox.Text = iteration.ToString());
что-то не так с кодом?
спасибо за любую помощь
EDIT
// Delegates to enable async calls for setting controls properties
private delegate void SetTextCallback(System.Windows.Controls.TextBox control, string text);
// Thread safe updating of control's text property
private void SetText(System.Windows.Controls.TextBox control, string text)
{
if (Dispatcher.CheckAccess())
{
control.Text = text;
}
else
{
SetTextCallback d = new SetTextCallback(SetText);
Dispatcher.Invoke(d, new object[] { control, text });
}
}