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

本文关键字:小时 调整 闪烁 方法 一种 | 更新日期: 2023-09-27 17:54:35

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

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

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

所以我的第一个问题是他们有什么办法防止这种情况发生吗?如果没有,他们的控制是否比我能使用的更快?

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

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

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

避免表单控件闪烁,可以使用下面的函数只需复制并粘贴到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

只粘贴在只读属性

有两种处理方法:

a)调整图片框中的图像大小,使其更小,从而更快地重新绘制,或者

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