Wie können Sie viele Beschriftungen und Textfelder abhängig vom Wert einer Integer-Variablen dynamisch erstellen?

7

Gibt es eine Möglichkeit, 'n' Labels mit 'n' entsprechenden Textboxen dynamisch zu erstellen und anzuzeigen, wenn wir den Wert von 'n' kennen, nachdem Sie beispielsweise auf die Schaltfläche "Anzeigen" geklickt haben.

Lassen Sie mich wissen, wenn Sie meine Frage nicht verstehen. Danke!

Ich arbeite mit VS C # Express 2010 Windows Form.

    
Ronaldinho Learn Coding 21.02.2013, 17:44
quelle

4 Antworten

17

Ich würde ein Benutzersteuerelement erstellen, das ein Label und ein Textfeld enthält, und einfach Instanzen dieses Benutzersteuerelements 'n' mal erstellen. Wenn Sie eine bessere Möglichkeit kennen und Eigenschaften verwenden möchten, um Zugriff auf die Werte von Label und Textfeld aus dem Benutzersteuerelement zu erhalten, lassen Sie es mich wissen.

Einfacher Weg wäre es:

%Vor%

Der obige Code geht davon aus, dass Sie einen Button btnDisplay haben und ein onClick Event dem btnDisplay_Click Event-Handler zugewiesen ist. Sie müssen auch den Wert von n kennen und müssen herausfinden, wo Sie alle Steuerelemente platzieren müssen. Kontrollen sollten auch eine Breite und Höhe haben.

Um dies mit einem Benutzersteuerelement zu tun, tun Sie dies einfach.

Okay, gehen Sie zuerst und erstellen Sie ein neues Benutzersteuerelement und fügen Sie ein Textfeld und eine Beschriftung ein.

Sagen wir, sie heißen txtSomeTextBox und lblSomeLabel . Im folgenden Code fügen Sie diesen Code hinzu:

%Vor%

Nun sieht der Code zum Generieren des Benutzersteuerelements wie folgt aus (MyUserControl ist der Name, den Sie Ihrem Benutzersteuerelement geben):

%Vor%

Natürlich können Sie im usercontrol weitere Methoden anlegen, um auf Eigenschaften zuzugreifen und sie zu setzen. Oder wenn Sie einfach auf eine Menge zugreifen müssen, geben Sie einfach diese beiden Variablen ein und Sie können direkt auf die Textbox und die Beschriftung zugreifen:

%Vor%

Führen Sie im Konstruktor des Benutzersteuerelements Folgendes aus:

%Vor%

Dann in Ihrem Programm, wenn Sie den Text Wert von entweder tun möchten, tun Sie dies einfach.

%Vor%

Ich hoffe, es hat geholfen:)

PS. Hier ist ein Link zu einem Beispielprojekt, wenn.

Erstellung dynamischer Steuerelemente

    
Daniel Wardin 21.02.2013, 18:00
quelle
4

Hier ist ein einfaches Beispiel, das Sie weitermachen lassen sollte, um etwas hinzuzufügen, das als Platzhalter für Ihre Winform dienen könnte: TableLayoutPanel

und fügen Sie dann einfach Steuerelemente hinzu

%Vor%     
COLD TOLD 21.02.2013 17:53
quelle
2

Angenommen, Sie haben eine Schaltfläche, die, wenn sie gedrückt wird, n auf 5 setzt, dann könnten Sie Etiketten und Textfelder auf Ihrem Formular wie folgt erzeugen.

%Vor%

Dadurch werden sie nicht nur zum Formular hinzugefügt, sondern auch anständig positioniert.

    
Martin McGirk 21.02.2013 17:56
quelle
0

Sie können dies versuchen:

%Vor%     
Syed Nasir Mujtaba 01.03.2017 20:55
quelle

Tags und Links