私はC#とWindowsフォームを使用しています.20個のラベルを含むグループボックスがあります(最上列に10、最下列に10)。グループボックス内のlocationプロパティに基づいてlabel.textを設定します
これらのラベルのTextプロパティは、グループボックス内の位置座標に基づいて設定します。同じ行のすべてのラベルのY座標は同じままであり、X座標のみが変更されます。
Example locations:
label1.Location is (6,16), label2.Location is (33,16) ... label10.Location is (150,16)
label11.Location is (6,43), label12.Location is (33,43) ... label20.Location is (150,43)
次に元々label.Textはint a
が「列」数とint b
が「行」番号のいずれか1 OR 2であることを示すための1と10の間の数であるlabel_[int a]_[int b]
として設定されています。
これはすべて素晴らしいですが、20個のラベルが付いた60個のグループボックスが必要です。名前を変更するとそれぞれの名前を変更するのはかなり苦しいです。
このように設定されている理由は、すべての「列」が最上位または最下行のいずれかで1つの数字しか得られないからです。
私の最初の質問は次のとおりです。 テキストプロパティをlocationプロパティで設定することはできますか?
第2に、stackoverflowハイブの心はこれを行うためのより良い/効率的な方法を考えることができますか?
注:ループを使用しようとすると、ラベルをリストに読み込もうとしましたが、適切なラベルを選択すると複雑になります。
私は、各グループボックスで個別に使用できる単一の方法を開発しようとしています。
今のところこれは私の心の中では意味がありますが、私はすぐに他の情報を提供することはできません。
最初に、これは私には意味がありません "私はそれに12のラベル(最上列に10、最下列に10)を持つグループボックスを持っています"。私はいくつかの数学の授業で眠っているかもしれませんが、私は10 + 10 = 20 = 12ではないことを覚えていると思います.2番目に、一般的に、コンテナをパラメータとして取り、ラベルを設定するために子供をループさせるメソッドを作成します。 – Kevin