Von Sharlene von Drehen
TeilenTwitternTeilenEmail

Sehen Sie, wie Sie Formen zeichnen, Farben verwenden und Bilder in einer WinForms-App rendern können.

Windows Forms ist ein Framework, mit dem Sie Desktopanwendungen erstellen können. Sie können Komponenten wie Schaltflächen anklicken und auf eine visuelle Benutzeroberfläche ziehen. Es hilft Ihnen auch, verschiedene Formen in Ihrem Code manuell zu erstellen.

Dieser Artikel zeigt Ihnen, wie Sie Ihrer Anwendung Linien, Formen und Bilder hinzufügen. Dieses Tutorial verwendet die Visual Studio 2019 Community Edition, um Beispiele zu zeigen.

Welche integrierten Klassen werden zum Zeichnen von Grafiken verwendet?

Windows Forms verwendet die Programmiersprache C#. Die integrierten Klassen und Methoden ermöglichen es Ihnen, verschiedene Formen auf einer Windows Form-Leinwand zu zeichnen. Dazu gehören die Klassen Graphics, Pen, Color und Brush.

Klasse Beschreibung
Grafik Mit der Graphics-Klasse können Sie Formen und Linien auf die Leinwand zeichnen. Es umfasst Methoden wie:
instagram viewer
  • DrawLine (Stift, Punkt1, Punkt2)
  • DrawRectangle (x, y, Breite, Höhe)
  • DrawPolygon (Stift, PointF[])
Stift Mit der Pen-Klasse können Sie die Eigenschaften einer „Stift“-Spitze angeben, mit der Sie Ihre Formen zeichnen können. Sie können Eigenschaften wie Farbe, Dicke oder Strichstil angeben. Zu den Methoden gehören:
  • SetLineCap (LineCap, LineCap, DashCap)
Farbe Ein Farbobjekt, das aus den Werten R (Rot), G (Grün) und B (Blau) besteht. Für viele der integrierten Methoden zum Erstellen von Formen benötigen Sie ein Farbobjekt.
SolidBrush, HatchBrush, TextureBrush Diese Pinselklassen leiten sich von der "Brush"-Schnittstelle ab. Mit diesen Klassen können Sie leere Bereiche auf der Leinwand ausmalen. Sie können die Räume auch mit verschiedenen Mustern oder Texturen füllen. Sie können Eigenschaften wie die Farbe festlegen.
Rechteck, Linie, Polygon, Ellipse Sie können Objekte basierend auf diesen Formen erstellen und sie beim Aufrufen von Methoden wie DrawRectangle() verwenden. Anstatt x, y, Breite und Höhe als Argumente zu übergeben, können Sie stattdessen ein vorhandenes Rectangle-Objekt übergeben.

Um den Quellcode für ein laufendes Beispiel des obigen Tutorials anzuzeigen, besuchen Sie die GitHub-Repository. Anschließend können Sie die folgenden Beispiele ausprobieren eine Winforms-Anwendung erstellt.

So fügen Sie einen Paint on Form Load-Ereignishandler hinzu

Fügen Sie zuerst einen Ereignishandler hinzu, um Formen zu zeichnen, wenn die Leinwand geladen wird.

  1. Fügen Sie eine Paint-Funktion für das Formular hinzu.
    private void Form1_Paint (Objektsender, PaintEventArgs e)
    {
    // Code kommt hierher
    }
  2. Wechseln Sie in die Registerkarte Entwurfsansicht.
  3. Wählen Sie im Eigenschaftenfenster das Blitzsymbol aus, um die Registerkarte „Ereignisse“ zu öffnen.
  4. Wählen Sie in „Paint“ unter „Darstellung“ die Funktion Form1_Paint aus. Dadurch wird die Funktion ausgeführt, wenn Sie die Anwendung ausführen.

So zeichnen Sie Linien auf eine Windows Form-Leinwand

Sie können eine Color-, Pen- und die DrawLine()-Methode verwenden, um Linien auf einer Leinwand zu zeichnen.

  1. Erstellen Sie in der Funktion Form1_Paint() ein Color-Objekt mit der Farbe, die die Linie haben soll. Erstellen Sie dann ein Stiftobjekt, um die Linie zu zeichnen.
    Farbe schwarz = Farbe. FromArgb (255, 0, 0, 0);
    Pen blackPen = neuer Pen (schwarz);
  2. Die DrawLine()-Methode aus der Graphics-Klasse zeichnet mit dem Stift eine Linie. Dies beginnt mit dem Zeichnen einer Linie von einer x, y-Position zu einer anderen x, y-Position.
    e. Grafik. DrawLine (schwarzer Stift, 300, 200, 800, 200);
  3. Sie können die Eigenschaften für das Stiftobjekt ändern, um seine Breite, Strichart und Anfangs- oder Endkappe zu ändern.
    Schwarzer Stift. Breite = 20;
    Schwarzer Stift. DashStyle = System. Zeichnung. Drawing2D.DashStyle. Bindestrich;
    Schwarzer Stift. StartCap = System. Zeichnung. Drawing2D.LineCap. PfeilAnker;
    e. Grafik. DrawLine (schwarzer Stift, 300, 200, 800, 200);
  4. Drücken Sie oben in Visual Studio auf die grüne Wiedergabeschaltfläche, um die Änderungen anzuzeigen.

So zeichnen Sie Formen wie Rechtecke und Kreise

Sie können die Formenklassen für verschiedene Formen verwenden oder Formen manuell auf die Leinwand zeichnen.

  1. Erstellen Sie ein Farb- und Stiftobjekt wie in den vorherigen Schritten gezeigt. Verwenden Sie dann die Methode DrawRectangle(), um das Rechteck zu erstellen. Die Argumente sind die x- und y-Koordinaten für die obere linke Ecke des Rechtecks ​​zusammen mit seiner Breite und Höhe.
    Farbe rot = Farbe. FromArgb (255, 255, 0, 0);
    Stift redPen = neuer Stift (rot);
    roter Stift. Breite = 5;
    e. Grafik. DrawRectangle (roterStift, 100, 100, 500, 200);
  2. Sie können auch ein Rechteck mit der Rectangle-Klasse erstellen. Erstellen Sie zuerst ein Rectangle-Objekt. Die Argumente sind auch die x- und y-Koordinaten für die obere linke Ecke, Breite und Höhe.
    Rechteck Rechteck = neues Rechteck (100, 350, 500, 200);
  3. Verwenden Sie die Funktion DrawRectangle(), um das Rechteck zu zeichnen. Anstatt wie zuvor x, y, Breite und Höhe zu übergeben, können Sie stattdessen das Rectangle-Objekt verwenden.
    e. Grafik. DrawRectangle (redPen, Rechteck);
  4. Drücken Sie oben in Visual Studio auf die grüne Wiedergabeschaltfläche, um die Änderungen anzuzeigen.
  5. Gehen Sie zurück zum Code, um andere Formen zu zeichnen. Verwenden Sie die Funktion DrawEllipse(), um einen Kreis zu zeichnen.
    Farbe grün = Farbe. FromArgb (255, 0, 255, 0);
    Stift grünStift = neuer Stift (grün);
    grünStift. Breite = 5;
    e. Grafik. DrawEllipse (grüner Stift, 400, 150, 400, 400);
    Wenn Sie einen Kreis zeichnen, beziehen sich die x- und y-Koordinaten (x=400, y=150) auf die obere linke Ecke des Kreises, nicht auf den Mittelpunkt des Kreises.
  6. Um andere Formen wie Dreiecke oder Sechsecke zu zeichnen, verwenden Sie die Methode DrawPolygon(). Hier können Sie eine Liste von Koordinaten angeben, um die Punkte der Form darzustellen.
    Farbe blau = Farbe. FromArgb (255, 0, 0, 255);
    Pen bluePen = neuer Pen (blau);
    blauer Stift. Breite = 5;
    PunktF[] KoordinatenForDreieck = neuer PunktF[] {
    neuer PunktF(400, 150),
    neuer PunktF(300, 300),
    neuer PunktF(500, 300)
    };
    e. Grafik. DrawPolygon (bluePen, CoordinatesForTriangle);
    Die Methode DrawPolygon() zeichnet Linien zwischen den angegebenen Punkten. ​​​​​​

So verwenden Sie die Pinselklasse zum Ausfüllen von Formen mit Farbe

Sie können die Methoden FillRectangle(), FillEllipses() oder FillTriangle() verwenden, um Formen mit einer Volltonfarbe zu erstellen.

  1. Erstellen Sie zunächst ein Pinselobjekt.
    Farbe lila = Farbe. FromArgb (255, 128, 0, 0);
    SolidBrush solidBrush = neuer SolidBrush (lila);
  2. Verwenden Sie die Methoden FillRectangle(), FillEllipses() oder FillTriangle(). Sie funktionieren auf die gleiche Weise wie die obigen Zeichenfunktionen, außer dass sie anstelle eines Stifts ein Pinselobjekt verwenden.
    e. Grafik. FillRectangle (solidBrush, 50, 50, 200, 250);
    e. Grafik. FillEllipse (solidBrush, 300, 50, 200, 200);
    e. Grafik. FillPolygon (solidBrush, new PointF[] { new PointF(700, 150), new PointF(600, 300), new PointF(800, 300) });
  3. Sie können ein Formobjekt auch direkt eingeben, anstatt Koordinaten anzugeben.
    Rechteck Rechteck = neues Rechteck (100, 350, 500, 200);
    e. Grafik. FillRectangle (solidBrush, Rechteck);
  4. Verwenden Sie den Schraffurpinsel, um die Form mit einem anderen Füllstil zu füllen, z. B. einem horizontalen oder vertikalen Muster.
    Farbe blau = Farbe. FromArgb (255, 0, 0, 255);
    Farbe grün = Farbe. FromArgb (255, 0, 255, 0);
    HatchBrush hatchBrush = neuer HatchBrush (HatchStyle. Horizontal, grün, blau);
    e. Grafik. FillRectangle (hatchBrush, 50, 50, 200, 250);
  5. Sie können den TextureBrush verwenden, um eine Form mit einem Bild zu füllen. Erstellen Sie hier eine Bitmap, indem Sie auf eine Bilddatei zeigen. Anstatt einen Pinsel mit einer Farbe zu erstellen, erstellen Sie ihn mit dem Bild.
    Bitmap-Bild = (Bitmap) Bild. FromFile(@"C:\Users\Sharl\Desktop\flag.bmp", true);
    TextureBrush textureBrush = new TextureBrush (Bild);
    e. Grafik. FillRectangle (textureBrush, 100, 100, 500, 400);

So rendern Sie Bilder in das Formular

Erstellen Sie zum Rendern eines Bilds ein PictureBox-Steuerelementobjekt, und fügen Sie es dem Formular hinzu.

  1. Erstellen Sie mithilfe einer Bilddatei ein PictureBox-Steuerelementobjekt.
    PictureBox-Bild = new PictureBox();
    Bild. ImageLocation = @"C:\Benutzer\Sharl\Desktop\flagLarge.bmp";
  2. Legen Sie die Größe des Bildes fest und fügen Sie es dem Formular hinzu, damit es gerendert wird.
    Bild. SizeMode = PictureBoxSizeMode. Automatische skalierung;
    diese. Kontrollen. Bild hinzufügen);
  3. Drücken Sie oben auf die grüne Starttaste, um das Bild anzuzeigen.

Hinzufügen weiterer Formen zu Ihrem Windows-Formular

Sie sollten jetzt wissen, wie Sie Ihrem Windows-Formular Linien, Formen und Bilder hinzufügen. Sie können Formen kombinieren, um neue Formen zu erstellen. Sie können auch mit den integrierten Funktionen herumspielen, um komplexere Formen zu erstellen.

Lohnt es sich, ASP.NET im Jahr 2021 zu lernen?

Lesen Sie weiter

TeilenTwitternTeilenEmail

Verwandte Themen

  • Programmierung
  • Programmierung

Über den Autor

Sharlene von Drehen (7 veröffentlichte Artikel)

Sharlene ist Tech Writer bei MUO und arbeitet auch Vollzeit in der Softwareentwicklung. Sie hat einen Bachelor of IT und hat bereits Erfahrung in der Qualitätssicherung und Universitätsnachhilfe. Sharlene liebt Spiele und spielt Klavier.

Mehr von Sharlene Von Drehnen

Abonnieren Sie unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um sich anzumelden