• 防止WinForm闪烁


    一、起因

    相信很多在用VS开发Winform的客户端程序的码农,都会碰到如题所示的问题。窗体在关闭或者打开时,总是会闪烁一下。对于我这种强迫症患者,看到这个闪来闪去,心里就不好。

    随后在网上搜罗了一下,杂七杂八,你一言我一句,试遍了所有的方法,最终确定了以下方法,我试验后不再闪烁。

    二、代码实现

    网上的代码大部分都是用的C#,我将其换成了VB.net。将以下的代码放置于需要防止窗体闪烁的父窗体中

     1     Public Sub New()
     2         InitializeComponent()
     3         SetStyle(ControlStyles.UserPaint, True)
     4         SetStyle(ControlStyles.AllPaintingInWmPaint, True)
     5         SetStyle(ControlStyles.OptimizedDoubleBuffer, True)
     6     End Sub
     7 
     8     Protected Overrides ReadOnly Property CreateParams As CreateParams
     9         Get
    10             Dim cp As CreateParams = MyBase.CreateParams
    11             cp.ExStyle = cp.ExStyle Or &H2000000
    12             Return cp
    13         End Get
    14     End Property
  • 相关阅读:
    [LeetCode] Longest Common Prefix
    [LeetCode] Path Sum II
    [LeetCode] Path Sum
    [LintCode] 寻找缺失的数
    [LintCode] 最多有多少个点在一条直线上
    [LeetCode] Max Points on a Line
    [LeetCode] Binary Tree Right Side View
    [LeetCode] Populating Next Right Pointers in Each Node II
    [LeetCode] Populating Next Right Pointers in Each Node
    apache php 60 503
  • 原文地址:https://www.cnblogs.com/alexywt/p/7488377.html
Copyright © 2020-2023  润新知