当前位置:  开发笔记 > 编程语言 > 正文

当我改变左侧位置和宽度时,如何阻止控制旋转?

如何解决《当我改变左侧位置和宽度时,如何阻止控制旋转?》经验,为你挑选了1个好方法。

我有一个控件,用户可以用鼠标调整大小.当他们移动右侧时,我只是改变宽度,一切正常.

但是,当他们移动左侧大小时,我必须更改"左"和"宽度"属性.控制器的右侧明显抽搐,显示新位置的旧宽度.

如果我使用Bounds一次设置左侧和宽度,它仍会抽搐; 我是否将SetStyle与UserPaint,Opaque,OptimizedDoubleBuffer,AllPaintingInWmPaint或ResizeRedraw中的任何一个一起使用; 以及它是否是双缓冲的.如果我在控件或其父控件上调用SuspendLayout()/ ResumeLayout(),它仍会抽搐.

当我改变左侧位置和宽度时,如何阻止控制旋转?



1> Zachary Yate..:

您可能想要Control.SuspendLayout()在移动/调整大小之前尝试调用包含的表单,然后Control.ResumeLayout().

听起来无论您将控件设置为什么模式,更改边界时触发的某些事件都会在设置两个值之前重绘它.它可能与表单有关.

编辑:我在SO上看到了这个类似的问题,你提到你已经使用过SetStyle(),但也许你可以选择一些选项组合,它们会给你带来理想的效果.

希望有所帮助!

推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有