根据项目数量调整ListView的大小?

时间:2010-03-29 21:40:50

标签: c# winforms listview resize

如何根据ListView中的项目大小调整ListView的高度?我正在尝试获取单击项目的文本,但是每当用户单击没有项目的空间时,就会出现错误。 确切的错误是:

  

InvalidArgument =值'0'对'index'无效。   参数名称:index。

我正在使用代码:

label14.Text = myListView1.SelectedItems[0].Text.ToString();

我认为删除项目下方的空间可以解决这个问题。谢谢!

3 个答案:

答案 0 :(得分:3)

修复错误应该做的是检查用户是否实际点击了某个项目:

if (myListView1.SelectedItems.Count > 0) {
    label14.Text = myListView1.SelectedItems[0].Text.ToString();
}

答案 1 :(得分:0)

每个项目的高度大约为5-7像素,具体取决于所使用的字体/字体大小。所以你可以简单地做myListView1.Height = myListView1.Items.Count * itemHeight;

要删除空列表项,您可以迭代并删除它们。

答案 2 :(得分:0)

啊哈。我有它的工作。我用过:

if (myListView1.SelectedItems.Count > 0)
        {
            label14.Text = myListView1.SelectedItems[0].Text.ToString();
        }

这似乎可以解决问题。再次感谢您的帮助!