-2

InvalidArgument=「4」の値は「インデックス」には無効です。パラメータ名:インデックス

ここに私のコードがあります

   if (lvnames.Items.Count > 0)
   {
         for (int x = 0; x < lvScratch.Items.Count; x++)
         {
           **lvnames.Items[x].SubItems[4].Text = lvnamestemp.Items[x].SubItems[0].Text;**
         }
   }
   else
   {

            MessageBox.Show("No Record", "Empty", MessageBoxButtons.OK, MessageBoxIcon.Information);

   }

私の lvnames.Items には 4 つの列があり、私の lvnamestemp には 3 つの列があります

コードを実行すると、太字のコードで InvalidArgument=Value of '4' というエラーが発生しました

4

2 に答える 2

1

" 私の lvnames.Items には 4 つの列があります"

ただし、次のコードで 5 列目にアクセスしています。

lvnames.Items[x].SubItems[4]

0 1 2 3 4 (4 は 5 番目の項目です)。

于 2014-04-08T02:25:11.350 に答える
0

.NET では、ほとんどすべての配列とコレクションがゼロベースです。ListView 内の実際の列数は、ListViewItem 内のサブアイテムの数とは無関係です。重要なのは、追加したサブアイテムの数だけです。通常は同じですが。4 つの列がある場合、おそらく 4 つのサブ項目を追加したため、それらはインデックス 0、1、2、および 3 になります。明らかに、4 は有効なインデックスではありません。

于 2014-04-08T02:26:18.767 に答える