0

tablelayoutにラベルと行を追加しようとしました。私がそのようにリストビューに追加することを使用したとき:

ListViewItem ite = new ListViewItem(tag);
ite.Text = (tag + " " + description + war);
listView2.Items.Add(ite.Text);

それは動作しますが、別のものを試してみると動作しません。なんで?エラーや例外はありません。

 foreach (DataElement elementy in sq)
 {                       
       for (int k = 0; k == row_number; k = k + 1)
        {
        tag = elementy.Tag.ToString();
        description = elementy.VR.Tag.GetDictionaryEntry().Description;



       // ListViewItem ite = new ListViewItem(tag);
        //ite.Text = (tag + " " + description + war);
        //listView2.Items.Add(ite.Text);

            tableLayoutPanel1.GrowStyle = TableLayoutPanelGrowStyle.AddRows;
            Label et_tag = new Label();
            et_tag.AutoSize= true;
            et_tag.Text = tag;
            tableLayoutPanel1.Controls.Add(et_tag, 0, k);
            Label op = new Label();
            op.AutoSize = true;
            op.Text = description;
            tableLayoutPanel1.Controls.Add(op, 1, k);

        }
 }
4

2 に答える 2

1

が0でない限り、内部forループは実行されませんrow_number。そうでない場合、Kが初期化された直後に条件が失敗し、結果として何も実行されません。ループはほぼ確実に実行されていません。row_numberが実際0の場合、ループは外側のループ内のすべてのアイテムに対して1回だけ実行されますforeach

ループを実行する条件は何ですか?k < row_number代わりに意味ですか?単一のkに対してこれを実行したいだけですか?このk == row_number場合、単にrow_numberをkに割り当てて、ループを完全に取り除く必要がありますか?row_numberがどこから来ているのかわからないので、このコードが何をしたいのかわかりません。

于 2010-09-07T20:20:36.137 に答える
1

row_numberをどのように初期化しているかはわかりませんが、おそらく次のようになります。

for (int k = 0; k <= row_number; k = k + 1)
于 2010-09-07T20:23:52.263 に答える