Windows Forms ist eine Plattform für die Entwicklung grafischer Benutzeroberflächen (GUI) für Anwendungen unter Betriebssystemen der Microsoft Windows-Familie. Mit der visuellen Entwurfsschnittstelle von Windows Forms können Entwickler mithilfe verschiedener Steuerelemente und Komponenten flexible und intuitive Benutzeroberflächen erstellen.
Die Standardfeatures von Windows Forms bieten jedoch keine Möglichkeit, ein Formular mit einer runden Kontur zu erstellen. Aber verzweifeln Sie nicht! In dieser detaillierten Anleitung erklären wir Ihnen, wie Sie die Form mit ein paar einfachen Schritten rund machen.
Schritt 1: Erstellen Sie ein neues Windows Forms-Projekt in einer beliebigen Entwicklungsumgebung, die Sie bevorzugen. Legen Sie die gewünschten Einstellungen für die Größe und Position des Anwendungsfensters fest.
Schritt 2: Fügen Sie dem Projekt ein rundes Umrissbild hinzu, das als Maske für die Fensterform verwendet werden soll. Es kann ein beliebiges PNG- oder BMP-Bild sein, bei dem alle Pixel außerhalb des Kreises vollständig transparent sind.
Windows Forms: Erstellen einer runden Form
1. Öffnen Sie in Visual Studio die Form, die Sie runden möchten.
2. Fügen Sie dem Formular einen Load-Ereignishandler hinzu. Legen Sie im Handlercode die Region-Eigenschaft des Formulars auf den neuen Grafikbereich fest, der mit der System-Klasse erstellt wurde.Drawing.Region und seine MakeEllipse-Methode.
Hier ist ein Beispielcode:
private void Form1_Load(object sender, EventArgs e)
3. Kompilieren und führen Sie Ihr Programm aus. Jetzt wird Ihre Form eine runde Form haben.
Beachten Sie, dass die Form beim Ändern der Größe immer noch eine runde Form hat. Wenn Sie ein größenänderungsfähiges Formular erstellen möchten, müssen Sie zusätzliche Ereignishandler hinzufügen, um den Grafikbereich zu aktualisieren, wenn sich die Größe des Formulars ändert.
Jetzt wissen Sie, wie Sie eine runde Form in Windows Forms mit der System-Klasse erstellen.Drawing.Region. Verwenden Sie diesen Ansatz, um Ihren Apps ein originelles und ästhetisch ansprechendes Aussehen zu verleihen.
Schritt 1: Erstellen Sie ein neues Projekt
1. Öffnen Sie Visual Studio, und wählen Sie im Hauptmenü die Option Projekt erstellen aus.
2. Wählen Sie im Dialogfeld Neues Projekt den Projekttyp "Windows Forms" aus, und geben Sie einen Projektnamen an. Klicken Sie auf Neu, um ein neues Windows Forms-Projekt zu erstellen.
3. Nachdem Sie das Projekt erfolgreich erstellt haben, wird das Formular-Designer-Fenster geöffnet, in dem Sie Elemente der Benutzeroberfläche Ihrer Anwendung erstellen und anpassen können.
Jetzt sind Sie bereit, die Form anzupassen und sie rund zu machen! Lesen Sie weiter, um mehr über den nächsten Schritt zu erfahren.
Schritt 2: Fügen Sie ein Form-Steuerelement hinzu
In diesem Schritt werden Instanzen von Form-Steuerelementen zu einem Windows Forms-Projekt hinzugefügt.
Um eine runde Form zu erstellen, müssen Sie eine Instanz der Form-Klasse erstellen und sie Ihrem Projekt hinzufügen. Sie können dies zum Beispiel in einer Methode tun Main() ihre Datei Program.cs.
Im folgenden Beispielcode wird eine Instanz der Form-Klasse mit dem Namen erstellt myForm und legt seine Eigenschaften fest Width und Height für die gewünschten Werte:
Form myForm = new Form();myForm.Width = 500;myForm.Height = 500;
Nachdem Sie eine Instanz der Form-Klasse erstellt haben, müssen Sie ihre Eigenschaft festlegen BackColor auf Color.Transparent. Dadurch wird sichergestellt, dass die Form transparent ist, sodass sie als Kreis angezeigt wird. Hier ist ein Beispiel für diesen Code:
myForm.BackColor = Color.Transparent;
Ihr Formular wurde jetzt erstellt und kann für die weitere Konfiguration als Kreis angezeigt werden.
Schritt 3: Ändern Sie die Formulareigenschaften
Jetzt, da wir eine Klasse haben, die das Fenster unserer Anwendung darstellt, können wir beginnen, ihre Eigenschaften zu ändern, um die Form rund zu machen.
Öffnen Sie zunächst die Datei Form1.cs und finde die Methode InitializeComponent(). Bei dieser Methode wird Code generiert, um die Formularkomponenten zu initialisieren. Wir werden diesen Code ändern, um die Form rund zu machen.
Suchen Sie nach der Zeile, die den this-Code enthält.ResumeLayout(false); und fügen Sie den folgenden Code danach hinzu:
- this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; – diese Zeile setzt den Rahmenstil des Fensters auf None, dh ohne Rahmen.
- this.BackColor = System.Drawing.Color.Transparent; - Dieser Code legt einen transparenten Hintergrund für das Formular fest.
Nachdem Sie diese Änderungen vorgenommen haben, müssen Sie das Formular bei jeder Änderung der Fenstergröße neu zeichnen lassen. Fügen Sie dazu dem Form1_Resize-Ereignis den folgenden Code hinzu:
- this.Region = System.Drawing.Region.FromHrgn(CreateRoundRectRgn(0, 0, Width, Height, 20, 20)); – Dieser Code erstellt eine Region, die die Form des Fensters als Kreis definiert. Die Parameter CreateRoundRectRgn() geben die Radien der Verrundung an.
Nun, da Sie die Eigenschaften des Formulars geändert haben, sollte es nach dem Ausführen der Anwendung rund werden.
Schritt 4: Konfigurieren Sie den Load-Ereignishandler
Öffnen Sie den Formularcode und suchen Sie nach der Methode Form1_Load. Wenn diese Methode nicht vorhanden ist, können Sie sie manuell hinzufügen, indem Sie den folgenden Code schreiben:
private void Form1_Load(object sender, EventArgs e)/ код обработчика события Load>
Innerhalb der Methode Form1_Load wir müssen Logik implementieren, um eine runde Form zu erzeugen. Fügen Sie den folgenden Code hinzu:
// Устанавливаем стиль формы на None, чтобы убрать границыthis.FormBorderStyle = FormBorderStyle.None;// Устанавливаем свойство BackColor формы на прозрачный// чтобы скрыть фон формы и сделать ее круглойthis.BackColor = Color.Transparent;
Dieser Code entfernt die Formgrenzen und macht den Hintergrund transparent. Die Form wird jetzt wie eine Runde aussehen, aber sie reagiert immer noch auf Mausklicks und Bewegungen.
Schließen Sie den Formularcode, und speichern Sie die Änderungen. Jetzt sollte Ihre Form vollständig rund sein.
Schritt 5: Implementieren Sie eine Funktion, um eine runde Form zu erstellen
Um eine runde Form in Windows Forms zu erstellen, müssen Sie eine Funktion implementieren, die die Form in eine runde Form ändert. Hier ist, wie man es macht:
Schritt 5.1: Erstellen Sie eine RoundForm-Klasse, die von der Form-Klasse erbt:
public class RoundForm : Form/ Ваш код здесь>
Schritt 5.2: Fügen Sie in der RoundForm-Klasse einen Konstruktor hinzu, der beim Erstellen des Objekts ausgelöst wird:
public RoundForm()/ Ваш код здесь>
Schritt 5.3: Legen Sie im RoundForm-Designer die Region-Eigenschaft des Formulars so fest, dass sie eine runde Form anzeigt:
this.FormBorderStyle = FormBorderStyle.None;this.BackColor = Color.Magenta;this.TransparencyKey = Color.Magenta;this.Region = System.Drawing.Region.FromHrgn(CreateRoundRectRgn(0, 0, Width, Height, 20, 20));
Schritt 5.4: Fügen Sie der RoundForm-Klasse die CreateRoundRectRgn-Funktion hinzu, die beim Erstellen einer runden Form verwendet wird:
[DllImport("Gdi32.dll", EntryPoint = "CreateRoundRectRgn")]private static extern IntPtr CreateRoundRectRgn(int nLeftRect,int nTopRect,int nRightRect,int nBottomRect,int nWidthEllipse,int nHeightEllipse);
Jetzt haben Sie eine Funktion zum Erstellen einer runden Form in Windows Forms. Verwenden Sie es, um anpassbare und einzigartige runde Formen in Ihrer Anwendung zu erstellen!
Schritt 6: Ändern Sie die Formeigenschaften, um die runde Form anzuzeigen
Um die Form rund zu machen, verwenden wir eine spezielle Formeigenschaft namens "Region". Eine Region definiert die Form und die Grenzen eines Steuerelements und kann als Bereich jeder Form angegeben werden, einschließlich Formen mit runden oder ungewöhnlichen Grenzen.
Um eine runde Form festzulegen, müssen wir ein neues Objekt vom Typ System erstellen.Drawing.Region und legen Sie seine Form mithilfe der MakeRoundedRect-Methode als Kreis fest. Als Ergebnis erhalten wir eine Form, die auf eine bestimmte Region beschränkt ist.
- Fügen Sie der Form_Load-Methode den folgenden Code hinzu:
private void Form1_Load(object sender, EventArgs e)/ Создаем обьект графики для формыGraphicsPath graphicsPath = new GraphicsPath();// Создаем окружность с радиусом равным половине высоты формыgraphicsPath.AddEllipse(0,0, this.Height, this.Height);// Присваиваем форме новое свойство "Region" с заданной окружностьюthis.Region = new Region(graphicsPath);>
Passen Sie den Radius des Kreises an, indem Sie die Parameter der AddEllipse-Methode ändern. In diesem Beispiel hat der Kreis einen Radius, der der Hälfte der Höhe der Form entspricht.
Jetzt können Sie Ihr Programm starten und sehen, dass die Form rund geworden ist!
Schritt 7: Starten Sie die App und überprüfen Sie das Ergebnis
Nachdem Sie alle vorherigen Schritte abgeschlossen haben, können Sie Ihre Anwendung starten und sicherstellen, dass die Form rund geworden ist.
Öffnen Sie dazu Ihre Anwendung in der Visual Studio-Entwicklungsumgebung und klicken Sie auf die Schaltfläche Ausführen. Danach wird die Anwendung in einem Fenster geöffnet und Sie können sehen, wie Ihre Form rund geworden ist.
Wenn Sie alle Schritte korrekt ausgeführt haben, sollten Sie ein Fenster Ihrer Anwendung mit einer runden Form anzeigen. Sie können überprüfen, ob die Form tatsächlich rund geworden ist, indem Sie das Fenster verschieben oder seine Größe ändern - die Form bleibt trotzdem rund.
Jetzt wissen Sie, wie Sie die Form in Windows Forms rund machen. Sie können diese Methode verwenden, um das Aussehen Ihrer Anwendungen zu verbessern und eine einzigartige Benutzeroberfläche zu erstellen.