Autor Beitrag
UPX
Hält's aus hier
Beiträge: 2



BeitragVerfasst: So 24.08.14 12:08 
Hallo Leute,

gleich vorweg, ich bin ein Anfänger mit C# deshalb brauch ich bitte eure Hilfe. :)
Und zwar möchte ich folgendes schaffen:

Ich habe in meinem Programm folgende GroupBox: Klick mich :) (jpg, 2.76 MB)
Wie kann ich es so lösen, dass ich mit einem "+" Button solch eine Groupbox hinzufügen oder mit "-" entfernen kann?

Dh. brauche ich zb. 3 solche Boxen, klicke ich einfach 3x auf "+". In jeder Box ist dann ein "-" um sie wieder zu entfernen.
Später dann möchte ich auch die Position der Boxen per Drag&Drop verschieben können … zb. die letzte an erster Position.

Vielen Dank und Liebe Grüße,
Daniel!
Einloggen, um Attachments anzusehen!
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: So 24.08.14 13:49 
Hallo UPX :welcome:,

am besten du erstellst dir mit dem Forms-Designer eine GroupBox und kopierst dir dann den nötigen Code aus der .designer.cs-Datei.
Das sieht dann in etwa so aus:
ausblenden C#-Quelltext
1:
2:
3:
4:
GroupBox groupBox = new GroupBox();
// groupBox-Eigenschaften

/*this.*/ Controls.Add(groupBox);

Diesen Code rufst du dann in deiner Button.Click-Methode für den "+"-Button auf (am besten dafür eine eigene Methode à la CreateGroupBox(...) erstellen und diese dann aufrufen).

Zum Entfernen kannst du dann im Button.Click-Ereignis für den "-"-Button (sofern dieser dann Teil der GroupBox ist), dann folgenden Code verwenden:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
Button button = sender as Button;
if (button != null)
{
  Controls.Remove(button.Parent);
}


PS: Für Screenshots solltest du besser die Taste 'Druck' (bzw. Alt+Druck) verwenden und dann mit einem Zeichenprogramm das in der Zwischenablage liegende Bild per Einfügen (Strg+V) und Abspeichern uns zur Verfügung stellen.

PPS: Bitte Crossposts immer angeben: c++.de :: C# und .NET :: Mit Button Element erstellen (da es unhöflich den Helfern gegenüber ist, wenn diese nicht wissen, das evtl. eine Frage schon in Bearbeitung oder sogar schon beantwortet ist!)
C#
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 561
Erhaltene Danke: 65

Windows 10, Kubuntu, Android
Visual Studio 2017, C#, C++/CLI, C++/CX, C++, F#, R, Python
BeitragVerfasst: Mo 25.08.14 13:13 
Wäre es nicht vielleicht sinnvoller wenn er ein UserControl erstellt? Dann kann er dort das Grundlayout (Labels, Buttons, etc) so erstellen wie er es möchte und dann einfach mit Controls.Add(Control) hinzufügen. Fände ich persönlich die sauberste Lösung. Ich lasse mich aber auch gerne eines besseren belehren ;)

_________________
Der längste Typ-Name im .NET-Framework ist: ListViewVirtualItemsSelectionRangeChangedEventHandler