我正在尝试将一些项目从数组添加到列表视图中的新列,这就是我想要做的:
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (listBox1.SelectedItems.Count > 0)
{
if (listView2.Columns.Count > 1)
{
for (int i = 1; i < listView2.Columns.Count; i++)
{
listView2.SuspendLayout();
listView2.Columns.RemoveAt(i);
listView2.ResumeLayout();
}
}
if (clmnnum[listBox1.SelectedIndex] == 1)
{
listView2.SuspendLayout();
listView2.Columns.Add("Primary Values", -2, HorizontalAlignment.Left);
listView2.ResumeLayout();
listView2.Items[listBox1.SelectedIndex].SubItems[1].Text = exp[listBox1.SelectedIndex].ToString();
listView2.Items[listBox1.SelectedIndex].SubItems[1].Text = hpe[listBox1.SelectedIndex].ToString();
listView2.Items[listBox1.SelectedIndex].SubItems[1].Text = lve[listBox1.SelectedIndex].ToString();
listView2.Items[listBox1.SelectedIndex].SubItems[1].Text = stre[listBox1.SelectedIndex].ToString();
listView2.Items[listBox1.SelectedIndex].SubItems[1].Text = powe[listBox1.SelectedIndex].ToString();
listView2.Items[listBox1.SelectedIndex].SubItems[1].Text = ende[listBox1.SelectedIndex].ToString();
}
}
我不断对该列进行超出范围的例外,就好像它不存在一样,我无法找到原因。
编辑:我忘了说明了列表视图已经是第一列(0),所以不是它。
答案 0 :(得分:1)
我认为您必须添加SubItems
,而不是索引访问...可能SubItems
不存在
listView2.Items[listBox1.SelectedIndex].SubItems.Add(powe[listBox1.SelectedIndex].ToString())
我只是做一个测试
这个例子叫System.ArgumentOutOfRangeException
listView1.Items.Add("test");
listView1.Columns.Add("Primary Values", -2, HorizontalAlignment.Left);
listView1.Items[0].SubItems[1].Text = "3232";
这很好用
listView1.Items.Add("test");
listView1.Columns.Add("Primary Values", -2, HorizontalAlignment.Left);
listView1.Items[0].SubItems.Add("3232");