Tabcontrol控件的闪烁问题

本文介绍了解决在调整TabControl控件大小时出现闪烁问题的方法,通过在窗体中添加特定代码,可以有效避免TabControl控件的闪烁,提高应用程序的美观性和用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

笔者在开发中发现,当调整窗体中的Tabcontrol控件大小时,如果tabcontrol控件中包含Listbox、DatagridView等较多控件时,易出现Tabcontrol控件不停闪烁的问题,严重影响应用程序的美观。

经过搜索和测试,发现解决办法是在tabcontrol控件所在的窗体添加如下的代码,即可彻底解决Tabcontrol控件的闪烁:

    Dim AntiFlicker As Boolean = False

    Protected Overrides ReadOnly Property CreateParams() As System.Windows.Forms.CreateParams
        Get
            Dim cp As CreateParams = MyBase.CreateParams
            If AntiFlicker Then
                cp.ExStyle = cp.ExStyle Or &H2000000  'Turn on WS_EX_COMPOSITED
            End If
            Return cp
        End Get
    End Property

    '开始调整大小时启用抗闪烁
    Private Sub Form2_ResizeBegin(sender As Object, e As System.EventArgs) Handles Me.ResizeBegin
        AntiFlicker = True
        Me.MaximizeBox = True
    End Sub

    '调整完毕时关闭抗闪烁
    Private Sub Form2_ResizeEnd(sender As Object, e As System.EventArgs) Handles Me.ResizeEnd
        AntiFlicker = False
        Me.MaximizeBox = True
    End Sub


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值