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

C# 根据项目数量调整ListView的大小?,c#,winforms,listview,resize,C#,Winforms,Listview,Resize,如何根据ListView中的项目数调整ListView的高度?我试图获取被单击的项目的文本,但是每当用户单击没有项目的空间时,就会出现错误。 确切的错误是: InvalidArgument=值“0”对“索引”无效。 参数名称:索引 我正在使用代码: label14.Text = myListView1.SelectedItems[0].Text.ToString(); 我认为删除项目下方的空间将解决此问题。谢谢 修复错误的方法是检查用户是否实际单击了某个项目: if (myListView1.

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

InvalidArgument=值“0”对“索引”无效。 参数名称:索引

我正在使用代码:

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

我认为删除项目下方的空间将解决此问题。谢谢

修复错误的方法是检查用户是否实际单击了某个项目:

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

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

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

每个项目的高度是多少,大约5-7像素,取决于使用的字体/字体大小。因此,您只需执行myListView1.Height=myListView1.Items.Count*itemHeight


要删除空列表项,您可以遍历并删除它们。

每个项的高度是多少,大约5-7像素,具体取决于使用的字体/字体大小。因此,您只需执行myListView1.Height=myListView1.Items.Count*itemHeight


要删除空列表项,您可以遍历并删除它们。

Aha。我让它工作了。我用过:

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

这似乎奏效了。再次感谢你的帮助

啊哈。我让它工作了。我用过:

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

这似乎奏效了。再次感谢你的帮助

它似乎不起作用。上面说我缺少一个程序集引用。谢谢,哎呀
Count
是正确的属性-编译器正在查找具有该名称或类似名称的扩展方法IIRC:)它似乎不起作用。上面说我缺少一个程序集引用。谢谢,哎呀
Count
是正确的属性-编译器正在查找具有该名称或类似名称的扩展方法IIRC:)