-1

int [i]、byte[i]などの配列を定義する方法を知っています。forループを使用して実行できるので気に入っています。今、私はテキストボックス、ボタン、ラベルなどの派手なオブジェクトで同じことをすることを考えています...それは可能かどうか疑問に思います。

もしそうなら、それはどのように行うことができますか?そして、オブジェクトの名前はどのようになりますか?mytextbox [1]、mylabel [2]のようなものですか?

4

2 に答える 2

8

その通りです。

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があります。これが、フォーム上の必要な場所に各コントロールを配置する方法です。TextHeightWidthTopLeft

于 2012-12-13T16:46:16.393 に答える
1

それらすべてを含むことができる一般的なリストを作成できますが、それらの要素がどのタイプであるかがわからない場合、後でそれらのプロパティにアクセスできなくなることに注意してください。

したがって、ラベルの配列(または、サイズを定義しないようにリスト)のようなことを行う場合:

List<Label> labelList = new List<Label>();

その後、for / foreachを使用してそれらを反復処理し、必要な処理を実行できるため、問題ありません。

アイテムの不均一なリストを作成し、ラベル、テキストボックスなどの両方を配置する場合は、そのオブジェクトを実際に操作する前に、list[i]が何であるかを判断するために余分な労力を費やす必要があることに注意してください。 。

于 2012-12-13T16:50:29.843 に答える