画面・グラフィック


 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 );
	}
}
		
	


inserted by FC2 system