Entwickler-Ecke
WinForms - Steuerelemente anpassen beim vergrößern der Form
Talemantros - Do 24.04.14 13:13
Titel: Steuerelemente anpassen beim vergrößern der Form
Hallo zusammen,
ich habe mal eine ganz lapidare Frage und trotzdem bekomme ich es einfach nicht hin :-( (Leider)
Ich habe ein Steuerelement gebastelt mit einigen Group/TextBoxen und einem Datagridview
Nun habe ich von allein Steuerelementen die Anchorwerte festgelegt, so dass sie mit vergrößert werden.
Wenn ich das ganz nun in ein Winform einfüge passt es auch und sieht gut aus.
Das Steuerelemt packe ich auf der Winform mit Dock = Fill ein.
Beim Ausführen des Programms schneidet er aber meistens unten und rechts ab?!
Habe ich was übersehen?
Ich habe schon viel rumgeklickert (und soviele Möglichkeiten gibt es ja nicht) aber irgendwie bekomme ich es nicht hin.
Danke
Gruß
Th69 - Do 24.04.14 13:36
Könntest du mal einen Screenshot davon machen (mit Angabe der Anchorwerte)?
Talemantros - Fr 25.04.14 10:36
Hallo,
also angefügt habe ich 3 Bilder
1.) USerControl in der Entwicklungsumgebung
2.) UserControl eingebunden in der Winform in der Enticklingsumgebung
3.) Winform zur Laufzeit
In der UserControl
Hat die obere Groupbox AnchorWerte von: top, left, right
die untere hat: top, left, right, bottom
Das TExtfeld mit der Bezeichnung: top, left, right
Das Textfeld Beschreibung: top, left, right
Der Speicherbutton: bottom, right
In der Winform hat das TabControl top, left, right, bottom
und das USerControl habe ich auf DOCK = FILL gesetzt
Danke
Gruß
Ralf Jansen - Fr 25.04.14 10:49
Ist das eine Standard GroupBox? Das die so sauber die BackColor am Border abgrenzt wäre mir neu.
Wenn das keine Standard GroupBox ist ersetze die mal Testweise auf deinem Usercontrol durch das Standard GroupBox Control.
Talemantros - Mo 28.04.14 11:50
Hi,
das ist von den kostenlosen Steuerelementen der Krypton Suite.
Mit einer normalen Box habe ich das selbe Problem.
Jetzt habe ich festgestellt, dass es funktioniert, wenn das TabControl auf "Microsoft Sans Serif" steht und wenn ich es auf "Arial" stelle tritt der Fehler auf?!
Ist mir zu hoch?! :-(
Gruß
Ralf Jansen - Mo 28.04.14 13:35
Scheint ein Bug zu sein und kann ich nachstellen. Konnte ich aber keiner konkreten Stelle beim Layouten zuordnen ausser eben das es beim Layouten passiert. Den Effekt bekomme ich allerdings schon im Designer zu sehen du scheinbar nicht? Setzt du den Font später?
Es hilft wenn man das UserControl erst zur Laufzeit hinzufügt und nicht über den Designer (z.B. im Shown Event).
Talemantros - Mo 28.04.14 15:35
Ich bekomme es beim ersten hinzufügen des USercontrols nicht angezeigt.
Sobald es einmal lief ist es im Designer schon nicht korrekt.
Jetzt kommt wieder die NoobFRage:
Wie kann ich den das UserControl dem ersten Tab des TabControl hinzufügen zur Laufzeit?
Danke schonmal
Ralf Jansen - Mo 28.04.14 15:41
C#-Quelltext
1: 2: 3: 4: 5: 6:
| private void MeineLiebeForm_Shown(object sender, EventArgs e) { MeineLiebesUserControl control = new MeineLiebesUserControl(); control.Dock = DockStyle.Fill; MeineLiebesTabPage.Controls.Add(control); } |
Es ist auch ganz hilfreich mal in die Designer.cs Datei zu gucken was der Designer für Code erzeugt hat. Das ist keine Magie und da kann man sich immer das eine oder andere abgucken.
Talemantros - Mo 28.04.14 17:29
Hi,
danke das mit dem Designer werde ich gern mal beherzigen.
Was ich gerade nicht verstehe ist, dass ich 3 UserControls gebaut habe.
1 davon kann ich per Code zuweisen, die anderen beiden werden mir nicht vorgeschlagen.
Alle Controls befinden sich im Ordner "Controls" und habe auch "using Recycle.Controls;"
EDIT: Erledigt. Hatte Fehler im Namespace
Talemantros - Di 29.04.14 07:45
Guten Morgen,
leider muss ich doch noch mal kurz was nachfragen.
Ich habe ein TabControl mit 3 Pages und 3 unterschiedliche UserControls die ich jetzt zur Laufzeit lade.
Alle UserControls habe ich in der Größe und die Position der Groupboxen im Designer Pixelgenau eingestellt.
Zur Laufzeit, wenn ich durch die Tabs gehe ist aber eins größer wie die anderen?
Jemand eine IDee?
VG
Ralf Jansen - Di 29.04.14 12:40
So ganz kann ich deine Beschreibung nicht verstehen. Wie kann da ein Tab größer oder kleiner sein? Wenn du alle auf Dock Fill stehen hast werden dich schon alle den ganzen Client Bereich nutzen.
Talemantros - Mi 30.04.14 17:37
Hi,
ja ich habe alle UserControls gleich gemacht mit den GroupBoxen und habe die Pixel im Designer angepasst.
Danach beim Laden alles auf Dock.Fill gestellt.
Die UserControls werden in der Entwicklungsumgebung gleich groß angezeigt.
Zur Laufzeit ist es leicht vergrößert. Vielleicht sieht man es auf den Bildern.
Wenn nicht ist aber nicht so wichtig. Die Basics sind wichtiger :-)
Gruß
Ralf Jansen - Do 01.05.14 09:36
Da kann ich gerade nur raten das du an den Padding einstellungen der verschiedenen Tabs gedreht hast.
Talemantros - Do 01.05.14 13:49
Hi,
also bewusst hatte ich da nichts geändert.
Anscheinend beim rumprobieren und kennenlernen der Steuerelemente was verändert.
Das war die Lösung. Vielen Dank
Ich habe hundert mal im Designer die Werte der Groupboxen kontrolliert :-)
Gruß und schönen Feiertag
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!