2012-10-19 8 views
10

Wie kann ich die Objekte meines Fensters (Knöpfe, Beschriftungen, usw.) in der Mitte halten, wenn das Fenster in der Größe verändert wird?Wie man Objekte bei der Größenänderung des Fensters in Position hält C#

Derzeit habe ich 3 Schaltflächen in einer Windows Form. Wenn ich das Fenster maximiere, bleiben die Schaltflächen im oberen linken Bereich des Fensters. Ich möchte, dass sie in der Mitte sind, so wie sie waren, als das Fenster nicht maximiert war.

Irgendwelche Hilfe?

+0

Sie können Option 'Maximize' deaktivieren, wenn es nicht erforderlich ist ... :) –

Antwort

21

Sie sollten die Anker-Eigenschaften des Objekts zu keine,

Dies hält es in der Mitte eingestellt.

+1

haben es geschafft. Vielen Dank ! :) –

0

Wenn Sie den visuellen Designer von Visual Studio verwenden (und Sie keinen Grund haben, nicht), die Eigenschaft Ihrer Kontrolle, die Sie verwalten möchten, wie sie in einem Formular platziert werden, ist "Anchor". Wenn Sie ein neues Steuerelement erstellen, wird es standardmäßig auf "Oben links" gesetzt, was bedeutet, dass sie an einer festen Position oben links in Ihrem Formular verbleiben. Sie können dies ändern, um sie an irgendetwas zu verankern.

Sie können die Anker auch deaktivieren und ihre Position steuern, indem Sie die Resize-Methode des Formulars überschreiben.

1

Legen Sie die Anchor Eigenschaft Ihrer Steuerelemente richtig fest. Standardmäßig ist Ihr Steuerelement an Top,Left verankert. Wenn Sie diese Eigenschaft löschen (im Wesentlichen nichts verankern), bleibt Ihre Schaltfläche zentriert.

(Es mag wie Sie auf allen vier Seiten zu verankern wollen, aber in Wirklichkeit, was diese tun, ist Ihre Schaltfläche Ändern der Größe, um das Formular ausfüllen!)

+0

Ich habe es getan. Vielen Dank. Die Größe der Schaltflächen wird jedoch nicht geändert. Wenn ich das Fenster maximiere, haben die Tasten dieselbe Größe wie zuvor. Gibt es eine Möglichkeit, dass die Tasten auch ihre Größe bei gleichem Verhältnis vergrößern? –

+0

Wenn Sie "Anker" auf "Oben, Links, Unten, Rechts" einstellen, ändert sich die Größe der Schaltfläche bei der Größenanpassung des Formulars, es behält jedoch nicht die * Proportion * zum Formular bei (dh es ändert sich die Größe nach) die gleiche Anzahl von Pixeln wie das Formular). Wenn Sie die Größe der Schaltfläche als festen Prozentsatz der Formulargröße beibehalten möchten, müssen Sie dies manuell codieren. –

4

Ihr Layout fixiert zu halten und in der Mitte tun dies :

  1. Auf Ihrer Form add TableLayoutPanel.
  2. Setzen Sie die Eigenschaft Dock auf Fill.
  3. Erstellen Sie 3 Zeilen und 3 Spalten.
  4. Zeilen und Spalten bearbeiten - 50% für die erste und letzte Spalte und Zeile festlegen.
  5. Feste Größe für mittlere Reihe und Spalte festlegen.
  6. Platzieren Sie Panel oder etwas anderes, das Sie mögen, in der 2. Reihe und 2. Spalte. Es wird immer in der Mitte sein.
Verwandte Themen