C# winform 改变窗体大小时候,界面遗留问题

事情是酱紫的:
我在某个事件中设置了每10MS,窗口就缩小大约5%那么多。。具体设置就是那么回事不说了。。。而存在问题是:winform原本的界面遗留下来了也就是每5%就有一个蓝色的边框遗留,等事件结束才会消失,我用refresh()刷新但是没用,请问要用什么方法才能让事件过程中不存在界面遗留?

PS:百度都搜不到,有木有?

10ms间隔太短。你确定10ms有用?10毫秒的时候也就是说你的窗口从100%缩到0%(没有?极限是一条边框也比这个大)只需要0.1秒,系统根本来不及完成重绘。
要做动画的话,你这个速度也太快了。而且在用户态的计时器中,根本达不到这样的精度(实际上也就是53ms好像,记得看到过),所以建议你调整过程的算法。
另外就是,如果系统界面没有即时刷新,可以通过 Application.DoEvents() 来通知系统刷新,如果还无效,可以在之前再加上 Invalidate() 来强制系统刷新。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-08
将 Refresh() 和 窗口缩小的 语句 同步,就是卸载一块。以缩小,马上刷新。
第2个回答  2012-06-08
refresh后面加上Application.Doevents试试。本回答被提问者采纳
第3个回答  2012-06-08
在最后时点的前一个时间将透明度设置0。
相似回答