Autor Beitrag
NoLe_Kazuik
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 17
Erhaltene Danke: 2

Windows 7
VisualStudio 2010
BeitragVerfasst: So 21.08.11 16:58 
Hallo,

habe ein paar Probleme mit der Erstellung der GUI bei meinem Projekt.

Und zwar wollte ich fragen, wie man solche Reiter wie beim Visual Studio generieren kann (also dass ich gleichzeitig mehrere Dateien öffnen und diese dann per Reiter auswählen kann)?

Ich sitze schon eine geraume Zeit dran, aber irgendwie seh ich den Wald vor lauter Bäumen nicht...

Hoffe mir kann geholfen werden.


Danke an alle schonmal im Voraus.

Grüße

NoLe-Kazuik
pixelport
Hält's aus hier
Beiträge: 13
Erhaltene Danke: 3



BeitragVerfasst: So 21.08.11 17:37 
Ich weiss nicht genau was du machen willst und bin noch ein Anfänger aber wie wärs mit TabControl? Er ist in der Toolbox unter der Kategorie Container zu finden.

Für diesen Beitrag haben gedankt: NoLe_Kazuik
NoLe_Kazuik Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 17
Erhaltene Danke: 2

Windows 7
VisualStudio 2010
BeitragVerfasst: So 21.08.11 17:44 
user profile iconpixelport hat folgendes geschrieben Zum zitierten Posting springen:
Ich weiss nicht genau was du machen willst und bin noch ein Anfänger aber wie wärs mit TabControl? Er ist in der Toolbox unter der Kategorie Container zu finden.


An den TabControl hatte ich auch soweit schon gedacht (hab ich vergessen zu erwähnen)*sorry*. Wie krieg ich das aber hin, dass ich (wenn ich zB ne neue Datei anlege, oder ne Datei öffne) in dem TabControl dann die RichTextBox drin hab?
pixelport
Hält's aus hier
Beiträge: 13
Erhaltene Danke: 3



BeitragVerfasst: So 21.08.11 17:51 
Du kannst vorher mit richTextBox1.Visible = false; Die Textbox verschwinden lassen und dann im Event wenn die Datei geöffnet worden ist es wieder auf true setzen. Da gleiche geht glaube ich auch mit Tabs.

Für diesen Beitrag haben gedankt: NoLe_Kazuik
pixelport
Hält's aus hier
Beiträge: 13
Erhaltene Danke: 3



BeitragVerfasst: So 21.08.11 17:53 
Hab ich hierwww.c-sharp-forum.de...ewtopic.php?t=106719 vorhin auch gemacht(Elemente mit Visible verstecken).Du kannst dir den Source anschauen.

Für diesen Beitrag haben gedankt: NoLe_Kazuik
NoLe_Kazuik Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 17
Erhaltene Danke: 2

Windows 7
VisualStudio 2010
BeitragVerfasst: So 21.08.11 17:54 
Klingt erstmal plausibel und simpel (wie ich es mir denken konnte - zu viel Bäume um den Wald zu sehen) ^^ ich werds nachher mal ausprobieren... Bin aber für weitere Vorschläge offen.
NoLe_Kazuik Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 17
Erhaltene Danke: 2

Windows 7
VisualStudio 2010
BeitragVerfasst: So 21.08.11 21:44 
So, wollte grad meine GUI weiter gestalten, da bin ich auf folgendes Problem gestoßen:

Wenn ich das Programm maximiere, wie kann ich dann Elemente im Verhältnismäßig anordnen? Also zB. links ein TabControl mit 75% und rechts eine TextBox mit 25% der kompletten Breite? Weiß da jemand Rat?!

Vielen Dank im Voraus

NoLe_Kazuik
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 22.08.11 05:56 
Das Problem ist, wenn du die Tabs nur versteckst, dass du die vorher anlegen musst. Besser ist es, wenn du die dynamisch erzeugst, so dass du auch so viele hast wie gebraucht werden.

user profile iconNoLe_Kazuik hat folgendes geschrieben Zum zitierten Posting springen:
Wenn ich das Programm maximiere, wie kann ich dann Elemente im Verhältnismäßig anordnen? Also zB. links ein TabControl mit 75% und rechts eine TextBox mit 25% der kompletten Breite?
Wenn es prozentual sein soll, wirst du das im Ereignis Resize selbst ausrechnen und ändern müssen. Wenn sich die Größe an den Rändern des Formulars orientieren soll, gibt es auch Anchor.

Für diesen Beitrag haben gedankt: NoLe_Kazuik
bakachan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 503
Erhaltene Danke: 34

W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
BeitragVerfasst: Mo 22.08.11 08:22 
Wenn du nicht selbst ausrechnen möchtest kannst du für die Anordnung/Proprtionen auch ein TableLayoutPanel verwenden.

Für diesen Beitrag haben gedankt: NoLe_Kazuik
NoLe_Kazuik Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 17
Erhaltene Danke: 2

Windows 7
VisualStudio 2010
BeitragVerfasst: Mo 22.08.11 10:52 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Das Problem ist, wenn du die Tabs nur versteckst, dass du die vorher anlegen musst. Besser ist es, wenn du die dynamisch erzeugst, so dass du auch so viele hast wie gebraucht werden.


Nee, ich werde nicht die Tabs verstecken, sondern diese dynamisch erzeugen... Lediglich den 1. Tab verstecke ich beim starten meines Programmes, solange keine Datei geöffnet wurde.

Oder kann ich das (noch) besser Lösen?

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Wenn es prozentual sein soll, wirst du das im Ereignis Resize selbst ausrechnen und ändern müssen. Wenn sich die Größe an den Rändern des Formulars orientieren soll, gibt es auch Anchor.


Gut, dann werd ich mir das mal anschauen dazu...


user profile iconbakachan hat folgendes geschrieben Zum zitierten Posting springen:
Wenn du nicht selbst ausrechnen möchtest kannst du für die Anordnung/Proprtionen auch ein TableLayoutPanel verwenden.


Dein Tipp ist auch Super Bakachan, den werde ich in Erinnerung behalten, falls der Hinweis von jaenicke nicht klappen sollte.


Schonmal ein herzliches Danke an alle, die geholfen haben. Habe hier im Forum noch nicht so sehr darauf geachtet, ob man anderen Usern ein "Danke" aufdrücken kann, aber wenn, dann bekommt Ihr alle schonmal eins ;)

NoLe_Kazuik
NoLe_Kazuik Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 17
Erhaltene Danke: 2

Windows 7
VisualStudio 2010
BeitragVerfasst: Fr 26.08.11 13:15 
Ich habe jetzt den Tip von Bakachan genutzt. Klappt im nachhinein auch viel besser.

Jetzt hab ich aber noch eine Frage bezüglich dem Speichern.

Wie kann man einen fokussierten Tab (inkl. RTB) speichern und wie könnte man mehrere Dateien Tabs gleichzeitig speichern?

Hoffe, dass mir hier nochmal jemand helfen kann (mit dem speichern habe ich während meines Studiums bisher kaum zu tun gehabt).

Mit freundlichen Grüßen


NoLe_Kazuik
bakachan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 503
Erhaltene Danke: 34

W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
BeitragVerfasst: Fr 26.08.11 13:37 
Die aktuell ausgewählte TabPage eines TabControls kannst du mithilfe der SelectedIndex-/SelectedTab-Property abfragen.

Die Zuordnung welche Datei zu welcher TabPage gehört müsstest du ja schon beim öffnen machen (z.B. ein Dictionary).

Zum Speichern findest du entsprechende Klassen im System.IO-Namespace (z.B. Streamwriter, Textwriter, File).

Für diesen Beitrag haben gedankt: NoLe_Kazuik
NoLe_Kazuik Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 17
Erhaltene Danke: 2

Windows 7
VisualStudio 2010
BeitragVerfasst: Fr 26.08.11 13:44 
user profile iconbakachan hat folgendes geschrieben Zum zitierten Posting springen:

Die Zuordnung welche Datei zu welcher TabPage gehört müsstest du ja schon beim öffnen machen (z.B. ein Dictionary).


Wenn der User aber einen neuen Reiter angelegt hat, ohne das dieser bisher gespeichert wurde, so habe ich ja eigentlich keine Zuordnung...

Aber ich glaub da finde ich schon noch ne gute Möglichkeit.

Ich danke dir aber auf jeden Fall erstmal Bakachan.
NoLe_Kazuik Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 17
Erhaltene Danke: 2

Windows 7
VisualStudio 2010
BeitragVerfasst: Fr 26.08.11 18:37 
Durch Bakachans Tip mit dem TableLayoutPanel kann ich mein Programm in meinem gewünschten 75%-25% Verhältnis ausstatten. Nun suche ich noch nach einer Möglichkeit, dieses Verhältnis während der Laufzeit zu verändern (in 5% Schritten). Hoffe mir kann hier wieder jemand helfen...

Solch eine Super Community hier bin ich noch nie begegnet
bakachan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 503
Erhaltene Danke: 34

W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
BeitragVerfasst: Fr 26.08.11 20:14 
Am TableLayoutPanel gibt es Properties für die RowStyles und ColumnStyles wo du per Index auf die Styles zugreifen kannst. Daran wiederum gibt es Properties für SizeType und Height/Width.
z.B.
ausblenden C#-Quelltext
1:
2:
tableLayoutPanel1.ColumnStyles[0].SizeType = SizeType.Percent;
tableLayoutPanel1.ColumnStyles[0].Width = 25;

Für diesen Beitrag haben gedankt: NoLe_Kazuik