c#在windows form开发时多线程对UI…

windows form开发的时候,如果使用了多线程,则新线程无法实现对原有控件的操作。

解决方案可以是:

利用form对象自带的BeginInvoke方法,实例代码

this . BeginInvoke
(
new MethodInvoker
(
delegate ( )
{
this . Cursor = Cursors . WaitCursor;
listView收件箱 . Items . Clear ( );
foreach ( var mail in e )
{
ListViewItem currentItem = new ListViewItem ( );

currentItem . Tag = mail . BodyText;
//邮件编号
currentItem .Text = mail . MessageID;
//发件人
currentItem . SubItems . Add ( string . IsNullOrEmpty ( mail . From [ 0 ] . Address ) ? @"<none>" : mail . From [ 0 ] . Address );
//收件时间
currentItem . SubItems . Add ( mail . Date . ToString ( "yyyy.MM.dd HH:mm:ss" ) );
//邮件标题
currentItem . SubItems . Add ( mail . Subject );
//是否查询
currentItem . SubItems . Add ( "是的" );
listView收件箱 . Items . Add ( currentItem );
}
this . Cursor = Cursors . Default;
}
)
);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值