它们是一种在调整大小时阻止图片框闪烁的方法吗?

时间:2013-01-20 23:06:29

标签: c# .net vb.net visual-studio-2010 gdi+

我有一个想要包含在我的vb.net应用程序中的图像,所以我将它在photoshop中切片并将其分成多个图片框,并相应地锚定它们,这样当我的应用程序调整大小时它不会拉伸所有部分图片。这一切都很好,它看起来很棒,而且几乎可以很好用。除了在调整表单大小时它会导致图片框闪烁。

我知道图片框不是最快的控件,所以我觉得它的刷新速度不够快。除了闪烁之外,即使图片框是透明的,它也会在下方显示白色背景。

我尝试为背景添加BG颜色,希望它能在加载无效时更好地隐藏闪烁。

所以我的第一个问题是他们有什么办法阻止这个?如果不是他的控制速度更快我可以使用?

也许有人知道自定义图片框,或者即使你知道控件更快。基本上任何允许背景图像和透明BG颜色的控件都可以工作,只要它更快。

我非常感谢任何帮助。谢谢。 PS:我的应用程序在VB.net中,但我添加了一个C#标签,因为我很可能不得不切换控件而不是通过代码修复它。

2 个答案:

答案 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毫秒内不会重绘。