int [i]、byte[i]などの配列を定義する方法を知っています。forループを使用して実行できるので気に入っています。今、私はテキストボックス、ボタン、ラベルなどの派手なオブジェクトで同じことをすることを考えています...それは可能かどうか疑問に思います。
もしそうなら、それはどのように行うことができますか?そして、オブジェクトの名前はどのようになりますか?mytextbox [1]、mylabel [2]のようなものですか?
その通りです。
TextBox[] myTextBoxes = new TextBox[10];
または、型の配列を作成しControl
て、任意の種類のコントロールで使用できます。
Control[] myControls = new Control[10];
myControls[0] = new TextBox();
myControls[1] = new DropDownList();
これらをフォームに追加するには、それぞれをControls
フォームのプロパティに動的に追加する必要があります。
foreach(Control control in myControls)
{
Controls.Add(control);
}
コードの背後にある各コントロールのプロパティ(、、、など、および、、、など)も設定する必要Id
があります。これが、フォーム上の必要な場所に各コントロールを配置する方法です。Text
Height
Width
Top
Left
それらすべてを含むことができる一般的なリストを作成できますが、それらの要素がどのタイプであるかがわからない場合、後でそれらのプロパティにアクセスできなくなることに注意してください。
したがって、ラベルの配列(または、サイズを定義しないようにリスト)のようなことを行う場合:
List<Label> labelList = new List<Label>();
その後、for / foreachを使用してそれらを反復処理し、必要な処理を実行できるため、問題ありません。
アイテムの不均一なリストを作成し、ラベル、テキストボックスなどの両方を配置する場合は、そのオブジェクトを実際に操作する前に、list[i]が何であるかを判断するために余分な労力を費やす必要があることに注意してください。 。