winform treenode 重绘 DrawNode 闪烁并且 CPU 负载高的问题

2019-09-11 15:16:59 +08:00
 yss729

网上看了很多相关的解决方式,无非是用以下形式来解决闪烁问题

this.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer , true)

这两个样式的前置条件是 ControlStyles.UserPaint,但是加了这个样式,就必须全部重画,但我的模式是 DrawMode = OwnerDrawText,不需要全部重绘。

这种闪烁很奇怪,只有在我窗体最小化后,再恢复窗口,就会闪烁。

我的窗体是全屏的,无边框,如果这时候窗体上层 Z 轴上再开个任意窗口,关键 CPU 是高负荷的,均值在 30%左右,treeview 一直闪烁。

真的很无解,有没有大神指点一下。

1328 次点击
所在节点    问与答
1 条回复
ysc3839
2019-09-11 20:39:00 +08:00
录个视频看看是怎么个闪?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/600039

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX