0
私はいくつかのラベル(10-50)を表示する必要があるプログラムを持っています。 私はそれを反復するために、配列に値を格納したいと思います。 ArrayListに異なるデータ型を格納する方法を知りました。 私はクラスhdinfoDataを持っており、それを配列リストに割り当てます。 私は、異なるデータ型を持つ2次元配列のようなものがあると思いました。 実際には2次元配列ではないので、配列リストに格納された値にアクセスすることはできません。オブジェクトを含む配列(hdinfoDataクラス)クラスを含むArrayListから動的にフォームにラベルを作成する
これには正しい方法はありますか? "ラベル" "値"というラベルのペアを動的に作成したいと思います。 さらに、注文を変更したいと思います。
ArrayList hdiData = new ArrayList();
hdinfoData a = new hdinfoData();
a.ID = 1;
a.Label = "USER";
a.Value = user;
a.PosX = 1;
a.PosY = 2;
hdiData.Add(a);
hdinfoData b = new hdinfoData();
b.ID = 2;
b.Label = "HOST";
b.Value = host;
hdiData.Add(b);
Label[] lbl = new Label[hdiData.Count];
int y = 50;
for (int i = 0; i < hdiData.Count; i++)
{
int x = 15;
lbl[i] = new Label();
lbl[i].Location = new System.Drawing.Point(x, y);
lbl[i].Text = (string)hdiData[i];
lbl[i].ForeColor = Color.White;
Form1.Controls.Add(lbl[i]);
y += 25;
}
internal class hdinfoData
{
public int ID { get; set; }
public string Label { get; set; }
public string Value { get; set; }
public int PosX { get; set; }
public int PosY { get; set; }
}
私はT1とT2のペアを作成したい場合は、私は通常、辞書を使う https://msdn.microsoft.com/fr-fr/ library/xfhwa508(v = vs.110).aspx 辞書内の項目を並べ替えることもできます。https://www.dotnetperls.com/sort-dictionary –