Gibt es eine Möglichkeit, die tatsächliche Größe eines Formulars zu finden, das sich selbst mit AutoSize=true
ändert?Gibt es eine Möglichkeit, die tatsächliche Größe eines Formulars zu finden, dessen Größe sich mit AutoSize = true ändert?
Zum Beispiel habe ich ein Formular, das Controller zur Laufzeit erstellt, und ich möchte, dass einige der Controller an bestimmten Stellen relativ zur Größe des Formulars platziert werden.
Wenn ich versuche, aus dem Formular This.Width
oder This.Right
oder This.PreferredSize.Width
sie Rückgabewerte zu erhalten, die zu groß sind, so vermute ich, auf die Form einige Standardgröße gibt es, dass die AutoSize
nicht berührt.
Gibt es eine Möglichkeit, die AutoSize
die aktuelle Größe des Formulars zu aktualisieren?
Warten Sie, bis das Load-Ereignis ausgelöst wird. Dies ist einer der wenigen wirklichen Gründe, dieses Ereignis jemals zu verwenden. Das Erzwingen bringt dich überhaupt nicht weiter, du kannst die wahre Größe erst bekommen, wenn das native Fenster erstellt ist. Und stellen Sie sicher, dass Sie die ClientSize-Eigenschaft verwenden, die Sie wenig für Größe verwenden, wenn Sie sich für das Layout interessieren, da es noch nicht vorhersehbar ist. –
@HansPassant by load event meinst du die 'InitializeComponent()'? – shinzou
@kuhaku Nein, er meint das Ereignis 'Load'. –