C# Windows Form wie kann ich aus einer Checkbox eine neue Groupbox erstellen?
Ich bin Anfänger in C# und verbringe bereits mehrere Tage in Visual Studio, um ein Windows Forms zu erstellen. Ich schaue mir sehr häufig Youtube Videos an oder versuche über die Microsoft Seite etwas zu finden.
Meine Idee ist: Ich habe eine Groupbox und in dieser Groupbox ein Checkbox und wenn ich diese Checkbox anklicke kommt darunter im selben Panel 2 genau die selbe GroupBox mit den gleichen Dingen und WIEDER die Checkbox mit noch einer Groupbox zum erstellen, dass kann man so unendlich fortführen. Die Goupboxen soll man jedoch nur vom Namen unterscheiden können und das aufwärts (Die Erste Groupbox heißt "Groupbox1", zweite "Groupbox2", ...).
Ich weiß nicht den Code, wie man etwas fast identisch Kopiert und es ca. Y +50 weiter setzt. Ein Video dazu konnte ich bisher auch nicht finden.
1 Antwort
Für die Auflistung der Komponenten würde ich ein FlowLayoutPanel als Container nehmen, bei dem Auto Scrolling aktiviert ist. Im Designer kannst du in dieses Panel schon eine GroupBox mit CheckBox ablegen und letztgenanntem Element einen Click-Handler zuweisen.
Control-Komponenten kannst du über das Controls-Property andere Kindkomponenten anhängen.
Beispiel:
var groupBox = new GroupBox() { Text = "GroupBox" };
groupBox.Controls.Add(new CheckBox()
{
Location = new Point(10, 25),
Text = "Checkbox"
});
panel.Controls.Add(groupBox);
panel.SetFlowBreak(groupBox, true);
Über dieses Property kannst du ebenso die aktuelle Anzahl an Kindkomponenten ermitteln.
panel.Controls.Count
Diese Information ist nützlich für eine Indexierung.