我通常這樣做 - 在調整控件大小時減少閃爍。批量添加項目時,需要使用BeginUpdate()
/EndUpdate()
以減少閃爍。我不知道是什麼可能導致模糊,所以我不能提供這方面的建議 - 更新視頻驅動程序可能會有幫助,但不要抱太大希望。
[System.ComponentModel.DesignerCategory ("")]
public partial class ListViewEx : ListView
{
private const int WM_ERASEBKGND = 0x14;
public ListViewEx()
{
InitializeComponent();
// Turn on double buffering.
SetStyle (ControlStyles.OptimizedDoubleBuffer |
ControlStyles.AllPaintingInWmPaint, true);
// Enable the OnNotifyMessage to filter out Windows messages.
SetStyle (ControlStyles.EnableNotifyMessage, true);
}
protected override void OnNotifyMessage (Message oMsg)
{
// Filter out the WM_ERASEBKGND message to prevent the control
// from erasing the background (and thus avoid flickering.)
if (oMsg.Msg != WM_ERASEBKGND)
base.OnNotifyMessage (oMsg);
}
}
什麼時候閃爍發生?何時添加項目? –
一個建議 - 不是答案 - 更新您的圖形驅動程序。 – tomfanning
閃爍發生刷新列表視圖必須經常做,即在listview1.endUpdate() – James