Zeichnen von Grafiken Verschwinden VB.net
Habe ich ein einfaches Programm, das Sie können auf dem Bildschirm zeichnen mit FillEllipse und FillRectangle. Mein problem ist, dass, wenn Sie ziehen Sie ein anderes Fenster über einen kleinen Teil des Bildschirms, wird dieser Teil gelöscht werden. Dies geschieht, wenn Sie ziehen Sie das andere Fenster vorbei, mal gehen Sie, und ziehen Sie es wieder aus. Gibt es irgendeine Möglichkeit dieses Problem zu beheben?
Dim MyFormObject As Graphics = Me.CreateGraphics
Select Case shape
Case "Ellipse"
MyFormObject.FillEllipse(brush, e.X - CInt(brushWidth / 2), e.Y - CInt(brushHeight / 2), brushWidth, brushHeight)
Case "Rectangle"
MyFormObject.FillRectangle(brush, e.X - CInt(brushWidth / 2), e.Y - CInt(brushHeight / 2), brushWidth, brushHeight)
End Select
Sind Sie mit dem zeichnen direkt auf dem Bildschirm (hdc 0), oder, um Ihre eigene form?
Bearbeitet, um zu zeigen, dass mein code
bearbeitet die Antwort unten, statt der Schaffung einer neuen Grafiken und jeder Zeit, die Sie benötigen, um zu zeichnen, um eine permanente Grafik wie ein pictureBox-Steuerelement. Alternativ können Sie das Neuzeichnen auf jedem paint-Ereignis, aber das könnte teuer werden.
Bearbeitet, um zu zeigen, dass mein code
bearbeitet die Antwort unten, statt der Schaffung einer neuen Grafiken und jeder Zeit, die Sie benötigen, um zu zeichnen, um eine permanente Grafik wie ein pictureBox-Steuerelement. Alternativ können Sie das Neuzeichnen auf jedem paint-Ereignis, aber das könnte teuer werden.
InformationsquelleAutor WillumMaguire | 2012-11-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie ein PictureBox-Steuerelement auf dem Formular, und zeichnen Sie auf, dass statt und es wird nicht gelöscht werden, wenn andere Fenster malen:
tun Sie dies einmal, auf form_load oder so:
zeichnen:
InformationsquelleAutor gordy
Müssen Sie alle für Ihre Zeichnung im
Paint
Ereignis, das feuert, jedes mal Ihrer Kontrolle erhält die neu gestrichen.InformationsquelleAutor SLaks
Dem folgenden code können Sie ein Rechteck zeichnen, mit der Maus (klicken und ziehen). Hinzufügen eines
PictureBox
zu einem Formular.Das ist eigenartig. Wenn ich den code zu testen, die bis die form verliert nicht die Zeichnung, sondern die Minimierung der form nicht.
Ich bearbeitet meine Antwort um das Problem zu beheben angehoben von Chris Dunaway
InformationsquelleAutor SSS
@SLaks schon gesagt, Sie zu tun alle Gemälde in der OnPaint-Methode. Hier ist ein wenig mehr Informationen. Wenn Sie versuchen zu ziehen, auf eine form, Sie würden überschreiben der OnPaint-Methode und tun alles, was Sie Malerei mit der Graphics-Instanz, übergeben wird in der Methode. Hier gibt es mehr Informationen zum Thema:
http://www.bobpowell.net/creategraphics.htm
http://www.bobpowell.net/picturebox.htm
InformationsquelleAutor Chris Dunaway
nur ein Einblick, was wirklich geholfen hat, mich mit zeichnen vb.net war dieses Beispiel vbnettuthut.blogspot.com es zeigen, ein vollständiges Beispiel zu zeichnen glatt und schnell, mit Beispiel und Quelle cod
InformationsquelleAutor Samuel