我有一个按钮单击事件,在里面我做了很多工作。
当我做这项工作(不是来自 UI 项目)时,我想将消息发送到 UI 以显示给用户。
我正在做类似的事情:
void Button_Click(object sender, EventArgs e)
{
DoMyWork(SendMessage);
{
public void SendMessage(string message)
{
TextBox1.Text = message + "\n";
}
在另一个程序集中的 DoMyWork 中,我可以调用 SendMessage 来写入文本框。不过,这些消息仅在 DoMyWork 完成时才会显示。
如何动态更新 TextBox1.Text,而不将 DoMyWork 放在 BackGround 线程上,还是必须将其放在 BackGround 线程上?我确实想阻止用户在 DoMyWork 运行时执行任何操作
谢谢
最佳答案
您可以使用BackgroundWorker
。 Further reading
关于c# - .NET 多线程。即时更新 UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4165355/