首页 新闻 会员 周边 捐助

c#Winform中为Label控件的Text属性赋值有几种解决方案呢?

0
悬赏园豆:50 [已关闭问题] 关闭于 2013-12-09 11:43

我做了一个自定义控件,它的容器是一个Panel,有纵向滚动条。发现只要更新自定义控件Label的Text属性,控件会自动获取焦点(不太确定这一点),导致这时如果想滚动到其它控件的位置时,滚动条视图会被自动拉回到被更新的Label的位置。

 

这个更新Label的操作很频繁,是更新进度的。

 

这种情况的发生还有另一个条件,就是只有这个控件被左单击,左双击,中键击,中键双击,右击,右双击时才会出现这种情况,感觉像是跟焦点有关系,但在更新Label后把焦点置在Form或其它控件上时,根本没有效果。

 

我曾试过拦截WM_LBUTTONDOWN等鼠标击消息,拦截到后不让它处理确实没有这个问题了,但控件需要滚轮操作,而且还有上下文菜单,没法把这些鼠标事件都过滤掉,过滤掉后有些操作自已实现就太复杂了。

 

所以现象就是鼠标击中了某个需要刷新Label的控件后,这一行就会一直把显示区拉到它的位置,除非鼠标击中了另一行,否则滚动条无法正常滚动到其它行位置。

 

 是否有什么需要释放焦点的API或者方法啊?

大神们帮忙啊?

空明流光的主页 空明流光 | 初学一级 | 园豆:111
提问于:2013-12-09 10:14
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册