Autor Beitrag
Csharp-programmierer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Mi 02.09.15 16:14 
Hallo ihr Experten. Ich möchte ein neues Projekt starten.
Auf der Form1 existiert eine TabControl mit einer TabPage, welche über eine RichTextBox verfügt. Per Click auf ein Button soll eine neue TabPage mit entsprechendem Text hinzugefügt werden. Die kann ich:

ausblenden C#-Quelltext
1:
 this.tabControl1.TabPages.Add("Dies ist eine TabPage");					


Doch diese neuen TabPages verfügen über keine RichTextBox. Da ein Projekt (das Programm erstellt einen neuen Ordner) aber mehrere Files (in diesem erstelltem Ordner) beinhaltet und diese Text- Datein in die jeweilige RichTextBox in der TabControl schreibt, muss ich den RichTextBoxen aber zur Laufzeit noch einen anderen Namen geben.

Zweck des Programms:
Es handelt sich um ein Web Developing- Projekt. Der Benutzer kann ein neues Projekt (im Programm) starten. Nun erscheint eine TabPage mit dem jeweiligen Namen des Projekts und einer RichTextBox, wo er dann den HTML Quellcode schreiben kann. Nun möchte der Benutzer aber noch eine CSS- Datei speichert. Hierzu betätigt er einen Button, ein Fenster geht auf wo der Benutzer dan Typ (CSS oder HTML) eingibt und den Namen der Datei. Es wird eine neue TabPage mit einer RichTextBox erstellt, in die er dann den CSS- Quellcode eingeben kann. Er möchte dann z.B. noch eine HTML- Datei einfügen und das selbe Spiel geht von vorne das Projekt speichert er dann. Beim öffnen muss das Programm nun alle TabPages wieder herstellen und die RichTextBoxen adden. Den Namen dieser RichTextBoxen brauche ich dann nun um die Daten in die richtige TabPage und der dazugehörigen RichTextBox einlesen zu können.

Da jedes Projekt unterschiedlich viele TabPages hat, ist es Käse eine vorprogrammierte TabControl zu erstellen.

Meine Frage: Wie kann ich zur Laufzeit des Programms unterschiedliche RichTextBoxen adden (zu der dazugehörigen TabPage (die auch erstellt werden muss)) und diesen einen gezielten Namen geben?

Ich hoffe ihr versteht mich.
MFG :)
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mi 02.09.15 16:23 
TabPages.Add liefert dir das erstellte TabPage zurück (im Moment scheinst du das einfach zu ignorieren). Da du das TabPage nach dem Add an der Hand hast kannst du dem dort auch einfach dann einen Namen gebn Controls drauf erzeugen oder was auch immer mit dem TabPage tun.
Csharp-programmierer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Mi 02.09.15 17:21 
Das wusste ich nicht. Könnten Sie mir vielleicht ein Code senden, was eine TabPage mit einer RichTextBox hinzufügt und der RichTextBox einen Namen gibt?

Für neue Ideen bin ich offen. :)
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mi 02.09.15 17:42 
Zitat:
Das wusste ich nicht.

Weil es auch einfach gelogen war. Ich hätte schwören können das die Add Methode die erzeugte Page zurückgibt.
Egal, erzeugt man die Page einfach so und fügt dann die Page per TabPages.Add Methode hinzu.

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
TabPage page = new TabPage("Dies ist eine TabPage");
page.Name = "MeineLiebeTabPage1";
tabControl1.TabPages.Add(page);

RichTextBox box = new RichTextBox();
box.Name = "MeineLiebeRichTextBox1";
box.Dock = DockStyle.Fill;
page.Controls.Add(box);
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4805
Erhaltene Danke: 1061

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Mi 02.09.15 18:49 
Solltest du mehr als nur ein Steuerelement je TabPage haben, so wäre es besser, du erstellst ein Benutzersteuerelement (User Control) - dieses kannst du über den Designer erstellen - und fügst dann dieses einfach der TabPage hinzu. So ersparst du dir das manuelle Erzeugen der Controls und Setzen deren Standardeigenschaften.