基于listviewitem焦点更新进度条

问题描述:

我想根据SubItems列之一中的值的当前数量进行progressBar更新。基于listviewitem焦点更新进度条

图片供参考:

在这里,我给球员乔尔4跳号。 (一切按预期工作) enter image description here

然而,创建另一个球员并给他跳转(作品以及)后。我希望progressBar根据我选择的人进行更新。

如果我然后尝试重新选择一个球员,并再次向他添加跳跃,那么progressBar并没有意识到它在那个球员身上。

目前代码:

private void listView1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    if (listView1.SelectedItems.Count != 0) 
     progress(); // function that updates the progressBar 
} 

如果没有行选择,不要运行该功能。

进展功能 - 摘录:

public void progress() 
{ 
    if ((listView1.SelectedItems[0].SubItems[3].Text.Split(',').Length - 1) == 4) 
      progressBar1.Value = 80; 
... 
... 
... 
} 

我计算存在的“”的招牌量,并根据该更新进度。

TL; DR:根据哪一行基于“”该子项目含有量选择到更新进度条。 (例如2 = 40%,3 = 60%)

+0

正如你交换的球员,你需要有记录跳跃的数量,并重置该玩家肯定? – BugFinder

+0

@BugFinder奇怪的部分是,进度条应该在选中一行后立即更新并运行进度函数。 (listview_selectedIndexChanged) – Joel

+0

当你重新填充列表视图,它不听起来像选择指数的变化 - 尝试这样做 – BugFinder

因为某些原因尝试几小时后。问题是首先在任何跳转之前生成一个空格,然后再添加,一旦我格式化跳转字符串,一切正常。

这实际上是正确的解决方案,一直以来,这个问题在其他地方撒谎:

private void listView1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    if (listView1.SelectedItems.Count != 0) 
     progress(); 
}