c# - 调用自己来绕过不同的线程? C#

标签 c# thread-safety invoke invokerequired

我已经四处寻找了大约 3 个小时,但无法使此调用起作用。我需要调用,因为调用它的是在不同的线程中并且说它不稳定。

这就是我要调用的内容(我这样调用它 textBox1_TextChanged(null, null);):

 private void textBox1_TextChanged(object sender, EventArgs e)
 {
     if(this.InvokeRequired)
     {
        this.Invoke(this?WHAT GOES HERE, null); // I know it should be a delegate or something but I can't change this to that
     }
     else
     {
        string temp = ""; 
        temp += TextToAdd;
        textBox1.Text = "s";
     }
}

最佳答案

您可以使用 BeginInvoke从其他线程更新 UI。

if (this.InvokeRequired)
{
  var action = new Action(() => textBox1.Text = "s");
  this.BeginInvoke(action);
}

关于c# - 调用自己来绕过不同的线程? C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35054970/

相关文章:

c# - 从基类调用子类的新方法

c# - 如何将对象列表从 C++ 传递到 C#?

c# - 有没有办法删除*仅* xmlns :xsd namespace when serializing a XML?

c# 使用 this.Invoke 安全吗?

java - 当子类从线程父类扩展时,我们是否覆盖运行方法

java - 如何使手动重试线程安全

tomcat - 在 Jersey 中调用 tomcat 启动的方法

c# - 如何防止用户生成的 SQL 查询中的 SQL 注入(inject)

C# 正确的 foreach 语法来迭代列表

java - Android:新线程在完成执行后会停止吗?