如何不用Invoke跨线程调用控件
1个回答
2017-01-23
展开全部
如何不用Invoke跨线程调用控件
用委托,然后用control.Invoke
例子:
public partial class chat_client : Form
{
delegate void AppendDelegate(string str);
AppendDelegate AppendString;
private void chat_client_Load(object sender, EventArgs e)
{
//实例化委托对象,与委托方法关联
AppendString = new AppendDelegate(AppendMethod);
}
private void AppendMethod(string str)
{
this.richtextbox1.AppendText(str);
}
//在另一个控件中使用
private void button1_Click(object sender, EventArgs e)
{
this.richtextbox1.Invoke(AppendString, new object[] { "\n请输入发送内容!"});
}
}
用委托,然后用control.Invoke
例子:
public partial class chat_client : Form
{
delegate void AppendDelegate(string str);
AppendDelegate AppendString;
private void chat_client_Load(object sender, EventArgs e)
{
//实例化委托对象,与委托方法关联
AppendString = new AppendDelegate(AppendMethod);
}
private void AppendMethod(string str)
{
this.richtextbox1.AppendText(str);
}
//在另一个控件中使用
private void button1_Click(object sender, EventArgs e)
{
this.richtextbox1.Invoke(AppendString, new object[] { "\n请输入发送内容!"});
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询