Hej
chciałbym z poziomu kodu utworzyć na formie kilka labeli, których ilość uzależniłbym od wyborów usera. Jeśli mam coś takiego:
public void Wyswietl_labele(int wierszy, int kolumn)
{
for (int x = 0; x > wierszy; x++)
{
for (int y = 0; x > kolumn; y++)
{
Label nowy_label = new Label();
nowy_label.Text = ".";
nowy_label.Location = new System.Drawing.Point(x * 10, y * 10);
this.Controls.Add(nowy_label);
}
}
}
to mam klasę, która powinna w założeniach rysować labeli tyle ile w nagłówku klasy poda się wierszy i kolumn. No ale w praktyce powstaje jedna instancja klasy Label i mam jedną kropkę.
No więc rozumiem, że muszę zrobić jakąś klasę/list/labeli i piszę drugą klasę:
public class Labele<T>
{
public Labele(T label1)
{
Label1 = label1;
}
public T Label1 { get; set; }
}
i w tym momencie zaczynam czuć, że nie ogarniam tego. Zmieniam więc klasę pierwszą Wyswietl_labele np. tak:
public void Wyswietl_labele(int wierszy, int kolumn)
{
Labele<Label> zly_label = new Labele<Label>();
for (int x = 0; x > wierszy; x++)
{
for (int y = 0; x > kolumn; y++)
{
// zly_label.Label1.Add(); (???)
zly_label.Label1.Text = ".";
zly_label.Label1.Location = new System.Drawing.Point(x * 10, y * 10);
this.Controls.Add(zly_label.Label1);
}
}
}
Wydaje mi się więc, że mam drugą klasę Labele<T>, mam pierwszą klasę zmodyfikowaną do użytkowania z drugiej klasy, ale nie potrafię tworzyć kolejnych obiektów pierwszej klasy.
Opisałem po krótce swój problem, tak jak go rozumiem. Jeśli ktoś może pomóc, dziękowałbym pięknie, bo spędziłem nad tym kilka godzin i sam nie wymyśliłem jeszcze rozwiązania.