由于c#不允许非创造控件线程调用控件,所以遇到过很多问题。
提示:
线程间操作无效: 从不是创建控件“showtable_btn”的线程访问它。
有些小郁闷
因为是刚刚使用thread
原始代码大概如下
private void showtable_btn_Click(object sender, EventArgs e)
{
thread t = new thead(s)
t.start()
}
private void s()
{
textbox1.text = "www";
}
如果报出上述的错误
于是我做了的修改
1.增加一个
delegate void SetVisibleDelegate();
2.新加一个函数
privare void sinvoke()
{
this.Invoke(new SetVisibleDelegate(s))
}
3.之后重新调用
private void showtable_btn_Click(object sender, EventArgs e)
{
thread t = new thead(sinvoke)
t.start()
}
这样的话
一切就OK了