3

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

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

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

所以我的第一个问题是他们有什么方法可以防止这种情况发生吗?如果不是,他们是不是我可以使用的更快的控件?

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

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

4

2 回答 2

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

只粘贴到只读属性的地方

于 2013-01-21T09:39:38.670 回答
1

处理这种情况的两种方法是:

a) 调整图片框中的图像大小,使其更小,重绘速度更快,或者

b) 使用计时器重绘图像,使其在最后一次调整大小事件后 100 到 350 毫秒后才开始重绘。

于 2013-01-21T05:00:41.277 回答