1

大量のコントロールで一連のプロパティを変更する必要があります。うまくいかなくて困っています。私は正しい軌道に乗っていますか?

foreach(var c in this.Controls.OfType<Label>())
            {
                c.Text = "test";
            }

何が起こっているのかというと、 var c は新しいオブジェクトを作成しているだけで、既存のオブジェクトを編集していません。どうすれば実際のコントロールにアクセスできますか?

4

2 に答える 2

3

あなたはこれを試すことができます

 List<Control> controls = Controls.OfType<Label>().Cast<Control>().ToList();
  foreach (Control m in controls)
  {
      m.Text = "test";

  }
于 2012-07-01T22:03:51.890 に答える
2

次のことを試してください。

foreach(var c in this.Controls)
{
    var label = c as Label;
    if(label != null) label.Text = "test";
}
于 2012-07-01T22:02:36.287 に答える