code:
public partial class Test: Form
{
private delegate void TextBoxDelegate(string value);//定义委托
static void Main(string[] args) {
......
//新起一个辅助线程
Thread test = new Thread(new ThreadStart(Test));
test.Start();
}
Public void Test( )
{
....
//下面使用委托
TextBoxDelegate sourceUrlTextBox = new TextBoxDelegate(SetUrlTextBoxEmpty); //this.Invoke可以使该委托在主线程上运行
this.Invoke(sourceUrlTextBox, new object[] { "It is an example!" });
....
}
Public void SetUrlTextBoxEmpty(string value)
{
this.textBox.Text=value;//给主界面上的textBox控件赋值
}
}
假如不用委托的话,那么调试会出现异常,不过直接运行是不会报错的。如果是改变datagridview的话,就会出现一个大红叉