Windows Forms-Anwendung Button vergrößern

11/24/2016 09:23 S u n#1
Servus,

ich habe vor 2-3Tagen angefangen c# zu lernen. Ich habe eine kleine WFA geschrieben mit der Hilfe von Mc Visual Studio Express 2012.

Jetzt zum Problem. Ich habe eine Oberfläche (Entwurf?) auf dem sich einige Buttons befinden. Das Hintergrundbild ist auf stretch gestellt, so das es sich beim vergrößern und verkleinern Automatisch anpasst. So weit, so gut. Allerdings bekomme ich es nicht hin, das die Buttons sich Gleichmäßig zum Hintergrund mit bewegen / vergrößern.

Gibt es da eine direkte einstellung in den Eigenschaften der Buttons, oder muss ich dafür im Code etwas ändern? Zur zeit sind die Buttons sehr einfach was den Code angeht. Das Standart programm was VS 2012 erstellt + das clickevent, mit dem ich per System.Diagnostics.process.Start(Application.Start upPath + "\\Beispieldatei.pssx"); meine Datei öffne sobald ich klicke.


Kann mir da jemand helfen, und mir vielleicht sogar erklären wieso es so sein muss?
Ich will ja nicht blind Kopieren, sondern verstehen was ich da tue.. :D

Freundliche Grüße
11/24/2016 14:27 Devsome#2
#moved
11/24/2016 15:04 florian0#3
Im Grunde gibts bei WinForms nur zwei Möglichkeiten, dass sich das Layout bei Resize ändert:

* Selbst Coden (im OnResize-Event)
* TableLayoutPanel-Control einsetzen

Ich bin mir unsicher, welche der beiden Optionen schlechter is. Das TLP muss man, je nach Komplexität auch mehrfach bis vielfach, ineinander-verschachteln. Is echt net so einfach. Auf der anderen Seite das Resizing manuell zu coden braucht auch seine Zeit ...
11/24/2016 22:52 IceTrailer#4
Irre ich mich grad oder geht das nicht auch einfach, wenn man nen Anchor beim Button setzt?
11/28/2016 09:08 S u n#5
Quote:
Originally Posted by IceTrailer View Post
Irre ich mich grad oder geht das nicht auch einfach, wenn man nen Anchor beim Button setzt?
Ich hab im Form.Designer eine Zeile

this.btn_Beispiel.Anchor = System.Windows.Forms.AnchorStyles.None;
this.btn_Beispiel.Autosize = true;
this.btn_Bispiel.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;


Hat das damit was zutun? :/
11/28/2016 11:25 florian0#6
die Designer-Datei nur anfassen wenns wirklich nötig is. Man kann alles auch im Eigenschaftenfeld des Forms-Designer einstellen. Kannst ja mal den Anker setzen, vll macht das ja was.
11/28/2016 11:37 S u n#7
Quote:
Originally Posted by florian0 View Post
die Designer-Datei nur anfassen wenns wirklich nötig is. Man kann alles auch im Eigenschaftenfeld des Forms-Designer einstellen. Kannst ja mal den Anker setzen, vll macht das ja was.
Hab nur mal die Designer Datei zitiert, weil dort etwas bezüglich Anchor stand.


Anker bringt zur Zeit nichts. Habe das ganze momentan mit einem Int button Offset geregelt. Allerdings bewirkt das nur, dass die Button dem Zentrierten Hintergrund "hinterher" gehen. Wenn ich dabei die Anker aktiviert habe, bewegen sich die Button ja nicht.

Das Problem zur Zeit ist eifach, das ich den Hintergrund ser klein habe. So kann ich die Button bei normaler Fenster Größe (800x600) direkt über dem Bild an der Richtigen stelle haben. Wenn ich jetzt auf Voll bild mache, verschiebt sich diese 800x600 Bild lediglich mit den Buttons in die mitte. Das Restliche Fenster ist Grau.

Ziel ist es, ein hoch auflösendes Hintergrund Bild zu haben (an dem ich grade Arbeite design technisch) und dieses dann mit Buttons in alle möglichen Größen (800x600 - Vollbild) zu verschieben. Auf dem Hintergrund Bild ist ein "Kasten" in dem sich die Buttons befinden. Daher ist es sehr Wichtig das die Buttons, wenn das Bild größer wird, sich anpassen, und weiterhin den Kaste in der Richtigen größe ausfüllen..


Wie egsagt, ich Arbeite an dem "Projekt" erst 2-3 Tage, und bin Anfänger in c# :D
11/28/2016 11:40 florian0#8
Schau dir mal das TableLayoutPanel an. Damit gehts definitiv.
11/28/2016 12:11 S u n#9
Quote:
Originally Posted by florian0 View Post
Schau dir mal das TableLayoutPanel an. Damit gehts definitiv.
Wo finde ich das? :) Ich werde gleich mal Googlen danach. :)