C# 初始化时在SplitContainer中重置前景色并调整大小

C# 初始化时在SplitContainer中重置前景色并调整大小,c#,winforms,listview,splitcontainer,C#,Winforms,Listview,Splitcontainer,在SplitContainer中的ListView中使用不同的前颜色ListViewItems时,我注意到一些不寻常的行为。最初,颜色通常不会显示(尽管有时会神秘地显示),但它们会在选择项目时显示。调整窗口大小似乎也会清除ListViewItems中的任何颜色(如果锚定设置为随面板一起调整大小),将所有项目重置为原始黑色前景色。添加ListViewItems后调用invalidate或refresh没有任何区别,在单击之前,它们最初仍然绘制为黑色。请注意,当ListView位于SplitCont

在SplitContainer中的ListView中使用不同的前颜色ListViewItems时,我注意到一些不寻常的行为。最初,颜色通常不会显示(尽管有时会神秘地显示),但它们会在选择项目时显示。调整窗口大小似乎也会清除ListViewItems中的任何颜色(如果锚定设置为随面板一起调整大小),将所有项目重置为原始黑色前景色。添加ListViewItems后调用invalidate或refresh没有任何区别,在单击之前,它们最初仍然绘制为黑色。请注意,当ListView位于SplitContainer之外时,不会出现此问题

要复制,请创建一个新的windows窗体项目,添加一个SplitContainer,并在其一侧添加一个ListView。将ListView的View属性设置为List,并将其锚定在所有侧面以调整大小。然后在初始化组件后使用以下代码设置项目:

ListViewItem listViewItem = new ListViewItem("blah blah blah blah blah 1");
listViewItem.UseItemStyleForSubItems = false;
listViewItem.ForeColor = Color.Red;
listView1.Items.Add(listViewItem);

listViewItem = new ListViewItem("blah blah blah blah blah 2");
listViewItem.UseItemStyleForSubItems = false;
listViewItem.ForeColor = Color.Blue;
listView1.Items.Add(listViewItem);

listViewItem = new ListViewItem("blah blah blah blah blah 3");
listViewItem.UseItemStyleForSubItems = false;
listViewItem.ForeColor = Color.Green;
listView1.Items.Add(listViewItem);
你知道怎么解决这个问题吗?我发现了一些类似的问题,但没有真正的解决办法。谢谢你的帮助


我正在使用Visual C#2010 Express和.Net Framework 4。Windows XP和7都会出现颜色问题

请不要在标题中添加标签。见:无需修改。我的ListViewItems始终保持其前景色。