Ändern Sie die Größe von Steuerelementen mit Form Resize

Ich habe mehrere Stapelüberlauffragen gelesen, ohne eine gute funktionierende Lösung für mein Problem zu finden. Wie kann ich die Größe meiner Steuerelemente ändern, wenn die Größe des Formulars geändert wird? Ich möchte, dass sie größer oder kleiner werden, wenn die Form größer oder kleiner wird.

In Visual Basic war dies mit der form.Zoom-Eigenschaft recht einfach (für die natürlich keine Größenanpassung erforderlich war, aber die von mir benötigten Probleme wurden gelöst). Leider ist dies in C # Winforms nicht verfügbar.

Hier sind einige andere Dinge, die ich ohne Glück versucht habe:

private void formMain_Resize(object sender, EventArgs e)
{/*
double scale;
this.scaleWidth = (float)this.Width / (float)this.origWidth;
this.scaleHeight = (float)this.Height / (float)this.origHeight;
if (this.scaleHeight > this.scaleWidth)
{
    scale = this.scaleHeight;
}
else
{
    scale = this.scaleWidth;
}

foreach (Control control in this.Controls)
{
    control.Height = (int)(control.Height * this.scaleHeight);
    control.Width = (int)(control.Width * this.scaleWidth);
    this.Refresh();
    //  control.Font = new Font("Verdana", control.Font.SizeInPoints * heightRatio * widthRatio);
}
///////This scaling didnt work for me either
//this.Scale(new SizeF(this.scaleWidth, this.scaleHeight));
//this.Refresh();
*/
}

Wenn ich eine Tatsache übersehen hätteArbeiten Beispielcode auf einer anderen Stapelüberlauf-Frage Ich würde es gerne sehen, aber die, die ich gefunden habe, waren denen oben ähnlich, die nicht funktionieren.

Vielleicht habe ich es missbraucht und jemand könnte einen Beispielcode posten, um denjenigen von uns zu zeigen, die diese Frage immer wieder stellen, wie das Problem zu lösen ist.

Außerdem habe ich versucht, einige der Anker- / Andockwerkzeuge zu verwenden, da ich dachte, sie würden es automatisch zulassen, aber das tat es nicht.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage