Porady: rysowanie konturu kształtu
W tym przykładzie rysowane są wielokropki i prostokąty na formularzu.
Przykład
private:
void DrawEllipse()
{
System::Drawing::Pen^ myPen =
gcnew System::Drawing::Pen(System::Drawing::Color::Red);
System::Drawing::Graphics^ formGraphics;
formGraphics = this->CreateGraphics();
formGraphics->DrawEllipse(myPen, Rectangle(0, 0, 200, 300));
delete myPen;
delete formGraphics;
}
private:
void DrawRectangle()
{
System::Drawing::Pen^ myPen =
gcnew System::Drawing::Pen(System::Drawing::Color::Red);
System::Drawing::Graphics^ formGraphics;
formGraphics = this->CreateGraphics();
formGraphics->DrawRectangle(myPen, Rectangle(0, 0, 200, 300));
delete myPen;
delete formGraphics;
}
private void DrawEllipse()
{
System.Drawing.Pen myPen = new System.Drawing.Pen(System.Drawing.Color.Red);
System.Drawing.Graphics formGraphics;
formGraphics = this.CreateGraphics();
formGraphics.DrawEllipse(myPen, new Rectangle(0, 0, 200, 300));
myPen.Dispose();
formGraphics.Dispose();
}
private void DrawRectangle()
{
System.Drawing.Pen myPen = new System.Drawing.Pen(System.Drawing.Color.Red);
System.Drawing.Graphics formGraphics;
formGraphics = this.CreateGraphics();
formGraphics.DrawRectangle(myPen, new Rectangle(0, 0, 200, 300));
myPen.Dispose();
formGraphics.Dispose();
}
Private Sub DrawEllipse()
Dim myPen As New System.Drawing.Pen(System.Drawing.Color.Red)
Dim formGraphics As System.Drawing.Graphics
formGraphics = Me.CreateGraphics()
formGraphics.DrawEllipse(myPen, New Rectangle(0, 0, 200, 300))
myPen.Dispose()
formGraphics.Dispose()
End Sub
Private Sub DrawRectangle()
Dim myPen As New System.Drawing.Pen(System.Drawing.Color.Red)
Dim formGraphics As System.Drawing.Graphics
formGraphics = Me.CreateGraphics()
formGraphics.DrawRectangle(myPen, New Rectangle(0, 0, 200, 300))
myPen.Dispose()
formGraphics.Dispose()
End Sub
Kompilowanie kodu
Nie można wywołać tej metody w procedurze obsługi zdarzeń Load . Narysowana zawartość nie zostanie ponownie wyrysowana, jeśli rozmiar formularza zostanie zmieniony lub zasłonięty przez inny formularz. Aby zawartość automatycznie przemalować, należy zastąpić metodę OnPaint .
Niezawodne programowanie
Zawsze należy wywoływać Dispose wszystkie tworzone obiekty, które zużywają zasoby systemowe. W poprzednim przykładzie Pen zostały utworzone obiekty i Graphics , a następnie usunięte.
Zobacz też
Współpracuj z nami w serwisie GitHub
Źródło tej zawartości można znaleźć w witrynie GitHub, gdzie można również tworzyć i przeglądać problemy i żądania ściągnięcia. Więcej informacji znajdziesz w naszym przewodniku dla współtwórców.
.NET Desktop feedback