基于listviewitem-focus更新Progressbar

时间:2017-02-15 14:58:41

标签: c# .net listview

我正在尝试根据其中一个SubItems列中的当前值来更新progressBar。

参考图片:

在这里我给球员乔尔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;
...
...
...
}

我正在计算“”符号的数量,并根据它更新progressBar。

TL; DR:根据SubItem包含的“”的数量,根据选择行更新progressBar。 (例如,2 = 40%,3 = 60%)

1 个答案:

答案 0 :(得分:0)

经过几个小时的尝试后出于某种原因。问题是在添加任何跳转之前首先生成一个空白区域,一旦我形成了跳转字符串,一切正常。

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

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