您的位置:首页 > 编程语言 > C#

C#跨线程访问控件,设置属性或是获得属性参数等

2014-04-18 22:20 435 查看
学C#不久,这是我总结的两点跨线程访问控件;

1、访问文本框,获得文本框的内容,文本框名:txtMessage

private delegate string GetSendMessageDelegate();//定义委托

private string getSendMessage()

{

string str
= "" ;

if (txtMessage.InvokeRequired)

{

GetSendMessageDelegate d
= new GetSendMessageDelegate(getSendMessage);

str= txtMessage.Invoke(d).ToString();

}

else

{

str = txtMessage.Text;

txtMessage.Text = "";

}

return str;

}

使用时,直接调用函数getSendMessage();就可返回文本框的文本内容。

2、访问线程,设置控件属性等,下面以设置文本框的文本为例,文本框name是txtClientsCount;

[align=left] [/align]
[align=left] private delegate void AddClientCountDelegate(string count);[/align]
[align=left] private void AddClientCount(string count)[/align]
[align=left] {[/align]
[align=left] if (txtClientsCount.InvokeRequired)[/align]
[align=left] {[/align]
AddClientCountDelegate d
= new AddClientCountDelegate(AddClientCount);
[align=left] txtClientsCount.Invoke(d, count);[/align]
[align=left] }[/align]
[align=left] else[/align]
[align=left] {[/align]
[align=left] txtClientsCount.Text = count;[/align]
[align=left] }[/align]
[align=left] }[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: