我正在尝试制作一个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/