我正在尝试制作一个C#IRC客户端。我的问题:
我在Form类中声明了一个TextBox,并且有一个执行OnTimedEvent方法的计时器,该方法应该编辑TextBox

System.Timers.Timer aTimer = new System.Timers.Timer();
aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
aTimer.Interval = 500;
aTimer.Enabled = true;


public void OnTimedEvent(object source, ElapsedEventArgs e)
{
    string inputLine = reader.ReadLine();
    tab1text.Text = inputLine;
}

我收到一个错误,我要编辑的对象是由另一个线程创建的。

读取器是一个StreamReader,可从TCP连接获取数据。

最佳答案

tab1text.Invoke(new Action(delegate(){ tab1text.Text = inputLine }));

关于c# - 如何从不同线程编辑Windows Forms控件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4429354/

10-08 20:40