if (this.lblInfo.InvokeRequired)this.Invoke(new Action(() =>{this.lblInfo.Text = "服务器连接失败,请稍后再试";Thread.Sleep(10000);this.lblInfo.Text = "";}));else{this.lblInfo.Text = "服务器连接失败,请稍后再试";Thread.Sleep(10000);this.lblInfo.Text = "";}
这段代码里的this.lblInfo.InvokeRequired是否必须,不是说this.Invoke什么情况下都能用吗?
另外这段代码是想要实现一个文本显示10s然后消失的效果,代码有没有改进的空间,对于线程操作界面这块刚接触请指点
1 回答
交互式爱情
TA贡献1712条经验 获得超3个赞
不是必须,但是Invoke的效率比直接调用低,所以就事先判断一下了,这是推荐标准而已
如果你这个线程只管10s后消失的话这样很好了,其实我觉得可以开个Timer啊,10秒一次触发,第一次触发就顺便把Timer给Stop就好了嘛,这样的话线程什么的就不用考虑了
- 1 回答
- 0 关注
- 356 浏览
添加回答
举报
0/150
提交
取消