Gibt es eine Möglichkeit, eine nicht rechteckige Fensterform, z. B. einen Kreis oder eine Ellipse, in c # oder .net zu erstellen?
Ich sah diese einzigartigen Fenster Formen bilden und sie sehen in mehreren Installationen, die ich gesehen habe, wirklich ordentlich aus.
Gibt es auch Nachteile bei der Verwendung dieser Art von Design für Nicht-Standard-Formulare, wie Nachhaltigkeit, Abstürze, etc.?
Formular hat die Eigenschaft "Region" und Sie können dort jede von Ihnen erstellte Form zuweisen.
Um beispielsweise ein ovales Formular zu erstellen, können Sie diesen Code in Form1_Load()
form of form verwenden:
Das Risiko besteht darin, dass beim Erstellen nicht rechteckiger Formulare und beim Schließen die Schaltflächen für die Minimierung nach Region abgeschnitten werden, sodass einige Endbenutzer Probleme beim Schließen der Anwendung haben könnten.
Ich habe mit so etwas gearbeitet. Sie können die Methode OnPaint
überschreiben. Etwas wie das:
Und setzen Sie die Eigenschaft FormBorderStyle
auf FormBorderStyle.None
.
Und es besteht kein Risiko, nicht standardisierte Formulare zu verwenden. Erstellen Sie einfach eine Anwendung, die Ihre Benutzer wünschen. :)
Der einfachste Weg besteht darin, ein Fenster ohne Rahmen und transparenten Hintergrund zu erstellen und ein Bild zu verwenden, um die tatsächliche Form zu definieren. Alternativ können Sie ein Fenster mit einer benutzerdefinierten Region
Das definiert die Form.
Verwenden Sie eine Region . Sie können festlegen, dass jedes Windows Forms-Steuerelement eine beliebige Form annimmt, indem Sie seine Region-Eigenschaft festlegen. Eine Region kann eine Rechtecke, eine Ellipse, eine Kombination mehrerer Formen sein und Sie können sie sogar aus einer Bitmap generieren.