Dynamische GUI in Windows Forms
-
Hallo Leute,
Muss auf der Arbeit nen Testdatengenerator programmieren.
Ich werde es nachfolgend mal anschaulich erklären. Entspricht nicht der tatsächlichen Anwendung:-
Die Anzahl der Zugführer wird vom User angegeben.
-
Das Programm soll diesen Zugführern eine Teilmenge von zufällig generierten Diensten (Zugfahrten) zuweisen. Die Kardinalität(Größe) dieser Teilmenge muss in der GUI für jeden Schaffner angegeben werden können.
D.h. Zugführer 1 bekommt 2 Dienste, Zugführer 2 bekommt 5 Dienste, usw.
Das Problem ist jetzt, dass abhängig von der Anzahl der Zugführer, eine entsprechende Anzahl von Textboxen von Nöten ist um die Anzahl der Dienste anzugeben. Wenn der User 10 Zugführer angibt muss ich auch 10 Textboxen haben, damit pro Zugführer die Anzahl der Dienste angegeben werden kann.
Diese Textboxen sollen in einer weiteren Form angezeigt werden wenn der User in der Hauptform auf nen Button drückt.
Wie erzeugt man Textboxen dynamisch ?
Oder würdet ihr nen anderen Ansatz wählen ?
DankeBlue
-
-
Würde einfach nen neuen Konstruktor stricken, der die Anzahl der Textboxen übergeben bekommt.
Dann musst eben noch im Konstruktorcode deine Textboxen erstellen und definieren// in Form1: private: array<TextBox^>^ txtBoxen; // Konstruktorcode Form1(int anzahl){ txtBoxen = gcnew array<TextBox>(anzahl); for(int i=0; i<anzahl; i++){ txtBox[i] = gcnew TextBox(); //noetig zum initialisieren // ...... // weiterer Code, was in den Boxen stehen soll, Größe, Position, usw
-
...und dann natürlich noch
this->Controls->AddRange(txtBoxen);
oder so ähnlich...