Laden...

Fensterinhalt automatisch skalieren.

Erstellt von Gguelsoy vor 9 Jahren Letzter Beitrag vor 9 Jahren 7.220 Views
G
Gguelsoy Themenstarter:in
9 Beiträge seit 2015
vor 9 Jahren
Fensterinhalt automatisch skalieren.

Hi leutz,
ich möchte derzeit mit VisualStudios 2013 arbeiten, aber bleibe an den einfachsten hindernissen hängen. Ich versuche mal mein Problem zu beschreiben, da mir die fachbegriffe unbekannt sind. Nehmen wir mal an, ich Designe ein fenster, diesen fenster hat 2 hälften. 50% links blau und 50%rechts grün.
Nun wenn ich es zu Testzwecken auf STARTEN drücke, zeigt er mir alle korrekt an, allerdings wenn ich nun das Fenster mit der maus größer ziehe, möchte ich, dass die relationen des blau grünen inhalt sich mit verändern. stattdessen bleiben diese beiden farbigen panels Statisch gleich 😦.
mit sicherheit gibt es einen einfachen weg diesen vorgang leicht zu aktivieren... nur weiß ich nicht die fachausdrücke, damit ich es googlen kann.
Ich möchte demnach eigentlich nur wissen, wie ich was einstellen muss, damit sich der Inhalt meines fensters mit verändert.

4.941 Beiträge seit 2008
vor 9 Jahren

Dafür gibt es generell bei WinForms die beiden Eigenschaften Dock sowie Anchor.

Für deinen konkreten Fall (je 50%) gibt es (soviel ich weiß) keine vordefinierte Möglichkeiten (außer das Resize-Ereignis der Forms zu benutzen und dort dann die beiden Panels in der Größe neu zu verändern).

Edit: Mir ist gerade eingefallen, das linke Panel auf Anchor.Left und das rechte auf Anchor.Right zu stellen, doch genau deinem Fall entsprechen sollte. 😉
Wenn man ineinander verschachtelte Container und Elemente hat, kann es manchmal etwas komplizierter sein, die korrekten Dock- und Anchor-Einstellungen zu finden, da sich diese beiden Eigenschaften gegenseitig ausschließen.

Spiel aber mal ein bißchen mit den obigen Eigenschaften rum, um ein Grundverständnis dafür zu erhalten, z.B. das linke auf Dock.Left und das rechte auf Dock.Fill zu stellen.

Eine für den Anwender flexiblere Möglichkeit ist die Benutzung des SplitterPanels, so daß der Anwender selber die Größe einzelner Elemente zur Laufzeit ändern kann.

G
Gguelsoy Themenstarter:in
9 Beiträge seit 2015
vor 9 Jahren

danke, danke für die schnelle antwort. also das mit den blauen und grünen kästchen sind nur halt beispiele gewesen, damit ich es konkret beschreiben kann. ich möchte einfach nur dass mein fensterinhalt MIT GESTRECKT UND GEZERRT WIRD wenn ich die fenstergröße nach dem start mit der maus verändere...
wenn ich das panel andocke, macht es sich auf dem ganzen fenster breit... und anchor einstelllungen haben so wie ich das sehe nicht besonders viel sinn für mich...

G
Gguelsoy Themenstarter:in
9 Beiträge seit 2015
vor 9 Jahren

wie meinst du das?

G
Gguelsoy Themenstarter:in
9 Beiträge seit 2015
vor 9 Jahren

ich habe ein fenster... darin zb 4 elemente...zb 2buttons 2panel ... und je nachdem wie ich die größe verändere, passen sich diese 4 objekte ihre maßen an...
ist das echt kompliziert?

T
314 Beiträge seit 2013
vor 9 Jahren

Die genannten Begriffe sind genau das was du suchst. Einfach mal den Anchor für alle Seiten setzen und sehen was passiert.

G
Gguelsoy Themenstarter:in
9 Beiträge seit 2015
vor 9 Jahren

und wieso geht bei mir nur bei anchor "top,left"? ich brauche es etwas genauer....

G
Gguelsoy Themenstarter:in
9 Beiträge seit 2015
vor 9 Jahren

jaaa.... hat geklappt 😄... allerdings kann ich das fenster nur noch größe strecken aber kleiner geht nicht...... was kann man dagegen tun?

G
Gguelsoy Themenstarter:in
9 Beiträge seit 2015
vor 9 Jahren

mein Fehler... habe zuviel mit den Eigenschaften gespielt... nun noch eine frage... ich möchte das mein Fenster ZB 1/3 so breit und 1/3 so hoch wie die maßen meines Monitores startet... wie kann ich das einstellen? also woher kann ich diese Einheit einlesen?
PS... ich bin euch wirklich sehr dankbar... ihr macht mir den einstieg sehr angenehm...dank euch allen... bis auf den, der mich auf Google verwiesen hat, dass war unbrauchbar, du mein freund brauchst eine frau 😄 ...

4.941 Beiträge seit 2008
vor 9 Jahren

Über die Klasse Screen.

Trotzdem solltest du lernen, die Internetsuche (Google, MSDN) zu verwenden...

G
Gguelsoy Themenstarter:in
9 Beiträge seit 2015
vor 9 Jahren

du hast ja vollkommen recht, aber ich finde ja leider nichts, was mir weiter hilft ... demnach frage ich auch...allerdings bin ich mit meinem derzeitigen Ergebnis immer noch unzufrieden...
ich möchte einfach nur ein "Fenster" dessen, Inhalt sich ZB genauso automatisch skaliert, wie wenn ich den "VLC-Player" während eines Films in die höhe und in die breite ziehe...
kann doch nicht so schwer sein... oder:((?

4.941 Beiträge seit 2008
vor 9 Jahren

Hat man nur ein Unterelement (wie bei einem Videoplayer) so reicht einfach ein Dock.Fill, bei mehrere Unterelementen muß man jedoch jedes einzelne entsprechend ausrichten.

Vllt. helfen dir folgende Artikel weiter:
Manage WinForm controls using the Anchor and Dock properties
Working with Anchoring and Docking Properties

G
Gguelsoy Themenstarter:in
9 Beiträge seit 2015
vor 9 Jahren

das hab ich befürchtet... gibt es vielleicht eine andere designe Möglichkeit wie ich diese Problematik umgehen kann?? Vielleicht ein komplett anderer Tool?

16.840 Beiträge seit 2008
vor 9 Jahren

Wie wärs wenn Du Dir mal die Links durchliest, die man Dir gibt?

W
198 Beiträge seit 2008
vor 9 Jahren

Eventuell ist das TableLayout-Panel für Deinen Zweck geeigneter als die Verwendung von Anchor/Docking...