Grupowanie kontrolek i listy w WinForms C#

Wszystkie kontrolki, które można użyć w WinForms mają swoje klasy, np. Button, Label, itd. Wszystkie one dziedziczą z klasy głównej Control.

Za pomocą kontrolek grupujących (np. GroupBox) można grupować obiekty, aby łatwiej było je modyfikować lub umieszczać w formularzu.

// Przykład kodu, który zmieni text wszystkich przycisków wewnątrz grupy
void ChangeBtnName()
{
    int ind = 0;
    foreach(Control c in groupBox1.Controls)
    {
        c.Text = "Ctrl " + ind;
        ind++;
    }
}

Zmiana właściwości (koloru tła) kontrolek wewnątrz grupy

void ModifyGroupControls()
{
    foreach (Control c in groupBox1.Controls)
    {
        //c.BackColor = Color.Teal;
        c.BackColor = Color.FromArgb(255,120,217,140);
    }
}

Tworzenie listy <Control>z obiektami podrzędnymi i wyświetlenie ich nazwy

// Tworzenie listy <Control>z obiektami podrzędnymi i wyświetlenie ich nazwy
using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace Test
{
    public partial class Form1 : Form
    {
        List<Control> ctList = new List<Control> ();

        public Form1()
        {
            InitializeComponent();
            AddToList(ctList);
            label2.Text = DisplayListNames(ctList);
        }


        void AddToList(List<Control>myList) { 
        
            foreach(Control c in groupBox1.Controls)
            {
                myList.Add (c);
            }
        }

        string DisplayListNames(List<Control> myList)
        {
            string listNames = "";
            foreach(Control c in myList)
            {
                listNames += c.Name;
            }
            return listNames;
        }
    }
}
Scroll to Top