wtorek, 15 marca 2011

[C#] Dynamiczne dodawanie kontrolek do formy lub kontenera w Windows Forms.

          Kiedy zaczynamy pracę z językiem C# oraz Visual Studio, bardzo intuicyjnie i łatwo przenosimy kontrolki z Toolboxa na formę za pomocą myszki. Czasami jednak musimy dodać daną kontrolkę już podczas wykonywania programu. Można to zrobić w bardzo łatwy sposób opisany w poniższym artykule.

1. Tworzymy nowy projekt w Visual Studio. Ja obecnie korzystam z wersji 2010.
File -> New -> Project -> Windows Form Application
Następnie dodajemy jeden przycisk do formy (button1).





2. W kolejnym kroku klikamy dwukrotnie na wyżej wstawiony przycisk. W funkcji obsługującej zdarzenie kliknięcia przycisku piszemy następujący kod:
   1:          private void button1_Click(object sender, EventArgs e)
   2:          {
   3:              Button przycisk2 = new Button();
   4:              przycisk2.Text = "Przycisk 2";
   5:              Point polozenie_przycisku = new Point(100, 100);
   6:              przycisk2.Location = polozenie_przycisku;
   7:              this.Controls.Add(przycisk2);
   8:          }
 
Efekt końcowy

          W lini 3 tworzymy nowy przycisk oraz kolejno przypisujemy mu właściwości takie jak tekst, i położenie. Jak widzimy aby wskazać lokację został utworzony nowy punkt polozenie_przycisku. Najciekawszą i najważniejszą częścią tego kodu jest linia 7. Zanim dana kontrolka, w tym przypadku przycisk zostanie wyświetlona, musi być ona dodana do kolekcji kontrolek należących do tej formy. Korzystając z dowolnej pętli można w ten sposób dodać w szybki sposób np. kilkadziesiąt przycisków do formy. Warto dodać, iż kontrolki mogą być dodawane do dowolnego kontenera. Przykładami mogą być: Panel, TabControl, Form itp.

Brak komentarzy:

Prześlij komentarz