Tabcontrol控件的闪烁问题

来源:互联网 发布:linux关机时执行脚本 编辑:程序博客网 时间:2024/05/05 16:04

笔者在开发中发现,当调整窗体中的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


0 0
原创粉丝点击