Hallo, ich habe folgendes Problem und hoffe ihr könnt mir dabei helfen:
Wenn die Fenstergröße eines WinForms C#-Programm vergrößert oder verkleinert wird, bleiben die Steuerelemente an der vordefinierten Stelle (Left, Top) stehen. Damit die Steuerelemente sich der Fenstergröße anpassen, benutze ich ein TableLayoutPanel und die Dock und Anchor-Eigenschaften der Steuerelemente. Aber es gibt noch ein kleines Problem, was sich am folgenden Beispiel erklären lässt:
Man habe ein 3x3 TableLayout (Spalten=20%,60%,20% und Zeilen=20%,60%,20%) und in der mittleren Zelle ein Button. Nun soll dieser Button sich dynamisch mit der Zellgröße anpassen, also setze man Dock=Fill oder Anchor=Top,Bottom,Left,Right. Soweit so gut. Zieht man das Fenster aber zu groß (oder maximiert es), so wird der Button auch dementsprechend groß. Also will man den Button in der Maximalgröße beschränken, mit MaximumSize=.... Das Problem ist nun, dass wenn die maximale Größe erreicht wird, der Button nun in der linken oberen Ecke der Zelle bleibt. Wie schafft man es nun den Button auch zentriert in der Zelle zu platzieren?
Das einzige, was mir einfällt wäre die Form.Resize Event zu behandeln und alle Steuerlemente ihre Größe und Position neu berechnen zu lassen, was mir leider zu umständlich ist.