我的程式代碼:
第一步:洗掉所有LABLE
第二步:生成LABLE 20個
程式運行時,有閃爍的問題。 如何解決,在網上找過但沒不知道怎么操作。
本人可以提供源檔案。懸賞求助。
uj5u.com熱心網友回復:
試下雙快取控制元件.DoubleBuffered=true;
對于批量操作,可以用一個自定義介面,設定雙快取,讓你的label去實作這個介面
uj5u.com熱心網友回復:
我也做過類似的事情,不過我直接在Form_Load的時候生成一次,然后后面并不真的洗掉,洗掉操作只是讓Lable不可見,重新生成操作,也不是真的重新生成,給它們賦新的text值,然后讓它們可見,這樣可以減少重繪uj5u.com熱心網友回復:
不是 label 的問題,是加載label的父控制元件問題。應該重寫個加載label的父控制元件。比如動態加載label的是FlowLayoutPanel
Public Class Flow1
Inherits Windows.Forms.FlowLayoutPanel
Sub New()
Me.SetStyle(ControlStyles.AllPaintingInWmPaint, True)
Me.SetStyle(ControlStyles.OptimizedDoubleBuffer, True)
Me.SetStyle(ControlStyles.UserPaint, True)
Me.DoubleBuffered = True
Me.AutoScroll = True
Me.Dock = DockStyle.Fill
End Sub
End Class
然后flow1動態加載label,picturebox之類,一點閃爍都沒。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/81414.html
標籤:VB.NET
