public ListViewNF(IContainer container)
{
container.Add(this);
InitializeComponent();
//Activate double buffering
this.SetStyle(ControlStyles.OptimizedDoubleBuffer |
ControlStyles.AllPaintingInWmPaint, true);
//Enable the OnNotifyMessage event so we get a chance to filter out
// Windows messages before they get to the form's WndProc
this.SetStyle(ControlStyles.EnableNotifyMessage, true);
}
protected override void OnNotifyMessage(Message m)
{
//Filter out the WM_ERASEBKGND message
if (m.Msg != 0x14)
{
base.OnNotifyMessage(m);
}
}
在加载事件中:
private void Form1_Load(object sender, EventArgs e)
{
ListViewNF nf = new ListViewNF();
}
我在ListViewNF
:
InitializeComponent();
严重级代码描述项目文件行抑制状态 错误CS0120非静态字段,方法或属性需要对象引用' Form1.InitializeComponent()'
我尝试删除此行以避免错误,但它没有修复闪烁。
我还尝试添加listView1
,beginupdate
和endupdate
:
listView1.BeginUpdate();
foreach (ListViewItem li in listView1.Items)
{
if (li.SubItems[2].Text == lastUrl)
{
li.SubItems[0].Text = "Downloaded";
li.SubItems.Add("Color");
li.SubItems[0].ForeColor = Color.Green;
li.UseItemStyleForSubItems = false;
}
}
listView1.EndUpdate();
我在添加ListViewNF
方法之前尝试过此操作。
到目前为止,闪烁没有任何帮助。有什么建议吗?