2013年02月24日
Visual C# コントロールを配列として扱う
いわゆるVB6あたりでは
コントロール配列といわれていた代物ですが
これをVisualC#でやろうというものです
動的にfor文で配列をいっきに作って・・・うんぬんかんぬん
というコードは検索でよくでてきますが
フォーム上にすでに配置されているコントロールを
for文でいっきに配列として扱うものは
検索してもあまりHITしてくれない
またはエラーがでて2010では使えなかったりだったので
とりあえず残しておこうと思う
テスト環境 : Visual C# 2010
【コード】
// textBoxコントロール配列のフィールド作成
private System.Windows.Forms.TextBox[] TextBoxes;
private void Form1_Load(object sender, EventArgs e)
{
// textBoxコントロール配列の作成
this.TextBoxes = new System.Windows.Forms.TextBox[6];
// textBoxコントロール配列にテキストボックスを割り当てる
for (int i = 1; i <= 5; i++)
{
this.TextBoxes[i] = (Controls["textBox" + i] as TextBox);
}
}
とりあえず
textBoxを5個ほどフォーム上に配置している
という前提でのコードだが
配列のはじまりは0ではなく1からにしているのだけ注意していただきたい
コントロール配列といわれていた代物ですが
これをVisualC#でやろうというものです
動的にfor文で配列をいっきに作って・・・うんぬんかんぬん
というコードは検索でよくでてきますが
フォーム上にすでに配置されているコントロールを
for文でいっきに配列として扱うものは
検索してもあまりHITしてくれない
またはエラーがでて2010では使えなかったりだったので
とりあえず残しておこうと思う
テスト環境 : Visual C# 2010
【コード】
// textBoxコントロール配列のフィールド作成
private System.Windows.Forms.TextBox[] TextBoxes;
private void Form1_Load(object sender, EventArgs e)
{
// textBoxコントロール配列の作成
this.TextBoxes = new System.Windows.Forms.TextBox[6];
// textBoxコントロール配列にテキストボックスを割り当てる
for (int i = 1; i <= 5; i++)
{
this.TextBoxes[i] = (Controls["textBox" + i] as TextBox);
}
}
とりあえず
textBoxを5個ほどフォーム上に配置している
という前提でのコードだが
配列のはじまりは0ではなく1からにしているのだけ注意していただきたい