我正在使用来自 Component Owl 的 BetterListView Express。在 listView 中有 3 列,FeatureNumber、FeatureName 和 FeatureCost.. 用户可以选择多个功能,右键单击它们并购买它们,当用户购买功能时,我将其从 listView 中删除,问题是当他选择多个项目并一次购买它们,它们以非常慢的动作,缓慢的方式一个接一个地被删除..不仅在选择和购买时,而且当 listView 最初出现时..起初我以为这是由于我有listView背景图片..所以我压缩了它,但并没有太大的不同..我什至尝试删除背景,仍然存在滞后..以防万一你想知道,字体可用的项目是影响前色为黑色,不可用项目的字体为Arial,前色为 DimGray。
我在一台带有 Corei3、2Gigs 的 Ram 和 1Gig ATI VGA 的东芝笔记本电脑上运行。
这是我用来删除项目的代码:(这实际上是它的一部分,还有其他与列表视图无关的东西,比如减少购买者的钱和类似的东西..)
private void purchaseFeatureToolStripMenuItem_Click(object sender, EventArgs e)
{
int NumberOfSelectedItems = listView.SelectedItems.Count;
for (int i = 0; i < NumberOfSelectedItems; i++)
{
int SelectedIndex = listView.SelectedItems[0].Index;
if (Purchaser.Money >= Convert.ToInt16(listView.Items[SelectedIndex].SubItems[2].Text))
{
//this is just to organize the rest of the features numbers.
for (int k = SelectedIndex + 1; k < listView.Items.Count; k++)
{
int NextItemNumber = Convert.ToInt16(listView.Items[k].SubItems[0].Text);
listView.Items[k].SubItems[0].Text = (--NextItemNumber).ToString();
}
listView.SelectedItems[0].Remove();
}
}
}
有没有办法摆脱这种滞后?还是因为我的规格?
任何帮助将不胜感激.. ThanX 很多提前.. :)