今天突然发现一个小问题,至今未解决,现求教大神。情况是这样的:
在winform里放一个combox和一个listview,两者没有关系,然后两者里都编辑好项,最简单的那种就好,然后运行后发现,切换选择listview后,点击combox,listview出现类似于刷新的效果。
本人菜鸟一枚,求大神指教
问题是什么都没写清楚。
就是在点击combox的时候listview会闪,就是这个问题,怎么样才能不闪
@你好,再见: 你在ListView选择项的时候,LISTVIEW是有焦点的,你点别的控件后,焦点就消失了,当然会闪一下。你放个BUTTON看看,点击BUTTON会不会闪。
@Firen: 哦哦,这样啊,我试试,先谢啦
重绘。
一行代码都没写,重绘不是实时都在进行的么
@你好,再见: 不是。调用 InvalidateRect 指定窗口的失效区域,触发 WM_PAINT 消息,然后将失效区域的图形绘制到显示设备上。
是失去焦点还是里面的value值变了?
好像是listview失去焦点后会激发重绘,然后会闪一下。问题是不想让他闪
刷新这个事情呢, 是windows看着办。
只要他觉得有什么地方“脏了”,就会重画。
所以呢, 不管什么时候他重画了都没啥, 也不一定有什么道理可言。
有可能是别人挡住了, 或者其他的, 导致了重画。
非要阻止重画, 可以试试suspenslayout方法,然后用完了再恢复回去。
哦,我试试,先谢谢了