画面・グラフィック
- コントロール配列
VB6でよく使用していたコントロール配列がVB.NETになってなくなった!と怒っている方がいるそうです。なくなったというよりも、VB6のような特殊な実装方法ではなく、いたって素直な実装方法になったというべきかと思います。配列を定義して、そこにコントロールを格納すればよいのですから、非常にシンプルです。また、ボタンにはTagというobject型のプロパティがありますので、そこに任意のインスタンスをぶら下げることも出来ます。
public partial class FormControlArray : Form
{
public FormControlArray()
{
InitializeComponent();
}
private void FormControlArray_Load( object sender, EventArgs e )
{
// インスタンス作成
// 動的にインスタンス化しているが既存のコントロールを格納しても構わない。
Button[] buttons = new Button[ 2 ];
buttons[ 0 ] = new Button();
buttons[ 0 ].Name = "Button0";
buttons[ 1 ] = new Button();
buttons[ 1 ].Name = "Button1";
buttons[ 1 ].Top = buttons[ 0 ].Height;
foreach( Button button in buttons )
{
button.Text = button.Name;
button.Click += new EventHandler( button_Click );
this.Controls.Add( button );
}
}
private void button_Click( object sender, EventArgs e )
{
Button button = sender as Button;
MessageBox.Show( button.Text );
}
}