gpt4 book ai didi

c# - 当我更改控件的左侧位置和宽度时,如何阻止控件抽动?

转载 作者:行者123 更新时间:2023-11-30 15:13:11 25 4
gpt4 key购买 nike

我有一个控件,用户可以用鼠标调整它的大小。当他们向右移动时,我只需更改宽度,一切正常。

但是,当他们向左移动大小时,我必须更改 Left 和 Width 属性。控件的右侧明显抽动,在新位置显示旧宽度。

如果我使用 Bounds 同时设置 left 和 width,它仍然会抽动;我是否将 SetStyle 与 UserPaint、Opaque、OptimizedDoubleBuffer、AllPaintingInWmPaint 或 ResizeRedraw 中的任何一个一起使用;以及它是否是双缓冲的。如果我在控件或其父级上调用 SuspendLayout()/ResumeLayout(),它仍然会抽动。

如何在更改控件的左侧位置和宽度时阻止控件抖动?

最佳答案

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

听起来无论您将控件设置为哪种模式,当您更改边界时触发的某些事件都会在设置两个值之前重新绘制它。可能跟形式有关系。

编辑: 我看到了这个 similar question在 SO 上,你提到你已经使用了 SetStyle(),但也许你可以选择一些选项组合来达到你想要的效果。

希望对您有所帮助!

关于c# - 当我更改控件的左侧位置和宽度时,如何阻止控件抽动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/331553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com