我有一个想要包含在我的vb.net应用程序中的图像,所以我将它在photoshop中切片并将其分成多个图片框,并相应地锚定它们,这样当我的应用程序调整大小时它不会拉伸所有部分图片。这一切都很好,它看起来很棒,而且几乎可以很好用。除了在调整表单大小时它会导致图片框闪烁。
我知道图片框不是最快的控件,所以我觉得它的刷新速度不够快。除了闪烁之外,即使图片框是透明的,它也会在下方显示白色背景。
我尝试为背景添加BG颜色,希望它能在加载无效时更好地隐藏闪烁。
所以我的第一个问题是他们有什么办法阻止这个?如果不是他的控制速度更快我可以使用?
也许有人知道自定义图片框,或者即使你知道控件更快。基本上任何允许背景图像和透明BG颜色的控件都可以工作,只要它更快。
我非常感谢任何帮助。谢谢。 PS:我的应用程序在VB.net中,但我添加了一个C#标签,因为我很可能不得不切换控件而不是通过代码修复它。
答案 0 :(得分:7)
两个避免闪烁控制形式你可以使用以下功能 只复制它并将其粘贴到form.vb
中的任何位置Protected Overrides ReadOnly Property CreateParams() As CreateParams
Get
Dim cp As CreateParams = MyBase.CreateParams
cp.ExStyle = cp.ExStyle Or &H2000000
Return cp
End Get
End Property 'CreateParams
只粘贴它只读属性
答案 1 :(得分:1)
处理此问题的两种方法是:
a)调整图片框中的图片大小,使其更小,重绘速度更快,或
b)使用计时器重绘图像,使其在最后一次调整大小事件后100到350毫秒内不会重绘。