1.界面假死
开启新的线程做一些计算操作,只有更新控件时才委托给Form线程更新界面。
2.Winform刷新时闪烁
一般的
this.SetStyle(ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw, true);
设置双缓冲、延时刷新
OCC时,机器人动作频繁刷新画面时,把form.Paint声明为public直接调用。
注:调用Refresh、Invalidate、Update都是在调用Paint事件前先清空在绘制,所以会有闪烁。
OCC更新TopoDS对象等不需要放在Form的线程中执行,因为更新的是AIS_InteractiveObject,并不是画面。
原文地址:http://blog.51cto.com/loldlw/2149655
时间: 2024-11-09 00:29:55