vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Picturebox soll sich nicht neu zeichnen 
Autor: ModeratorDaveS (Moderator)
Datum: 27.10.05 19:04

Ok, hier ist Code, der ein einfaches Chart zeichnet
    Dim points(5) As PointF
    Dim xs As Single = 5
    Dim ys As Single = 10
    Dim xscale As Single = 10
    Dim yscale As Single = 5
 
    Private Sub drawGraph(ByVal g As Graphics)
 
        Dim pen1 As New Pen(Color.Black)
        Dim pen2 As New Pen(Color.Red)
 
        g.DrawLine(pen1, 0, 0, 0, ys * yscale)
        g.DrawLine(pen1, 0, ys * yscale, xs * xscale, ys * yscale)
 
        Dim points1(points.Length - 1) As PointF
        For i As Integer = 0 To points.Length - 1
            points1(i) = New PointF(points(i).X * xscale, ys * yscale - points( _
              i).Y)
        Next
        g.DrawLines(pen2, points1)
    End Sub
 
    Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As _
      System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
        drawGraph(e.Graphics)
    End Sub
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles MyBase.Load
 
        points(0) = New PointF(1, 10)
        points(1) = New PointF(2, 35)
        points(2) = New PointF(3, 45)
        points(3) = New PointF(4, 38.5)
        points(4) = New PointF(5, 29.2)
        points(5) = New PointF(6, 17)
 
    End Sub
Jedesmal wenn PictureBox1 neu gezeichnet werden muss (z.B. die Form war minimiert und wird jetzt wieder angezeigt) wird die ganze Graphic wieder gezeichnet. Du kannst die Graphic auch als Bitmap haben, und nur dieses Bitmap zeichnen:
    Dim points(5) As PointF
    Dim xs As Single = 5
    Dim ys As Single = 10
    Dim xscale As Single = 10
    Dim yscale As Single = 5
 
    Private Sub drawGraph(ByVal g As Graphics)
 
        Dim pen1 As New Pen(Color.Black)
        Dim pen2 As New Pen(Color.Red)
 
        g.DrawLine(pen1, 0, 0, 0, ys * yscale)
        g.DrawLine(pen1, 0, ys * yscale, xs * xscale, ys * yscale)
 
        Dim points1(points.Length - 1) As PointF
        For i As Integer = 0 To points.Length - 1
            points1(i) = New PointF(points(i).X * xscale, ys * yscale - points( _
              i).Y)
        Next
        g.DrawLines(pen2, points1)
    End Sub
 
    Dim bm As Bitmap
 
    Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As _
      System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
        e.Graphics.DrawImage(bm, New Point(0, 0))
    End Sub
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles MyBase.Load
 
        points(0) = New PointF(1, 10)
        points(1) = New PointF(2, 35)
        points(2) = New PointF(3, 45)
        points(3) = New PointF(4, 38.5)
        points(4) = New PointF(5, 29.2)
        points(5) = New PointF(6, 17)
 
        ' Graphic einmal zeichnen
        bm = New Bitmap(PictureBox1.ClientRectangle.Width, _
          PictureBox1.ClientRectangle.Height)
        Dim g As Graphics = Graphics.FromImage(bm)
        drawGraph(g)
 
    End Sub
In diesem Fall alles was gezeichnet wird bleibt im Bitmap erhalten, wenn eine neue Zeile hinzukommt z.B.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Picturebox soll sich nicht neu zeichnen1.644Flameboy27.10.05 14:49
Re: Picturebox soll sich nicht neu zeichnen1.300ModeratorDaveS27.10.05 14:56
Re: Picturebox soll sich nicht neu zeichnen1.200Flameboy27.10.05 15:33
Re: Picturebox soll sich nicht neu zeichnen1.204ModeratorDaveS27.10.05 19:04
Re: Picturebox soll sich nicht neu zeichnen1.211Flameboy28.10.05 10:56
Re: Picturebox soll sich nicht neu zeichnen1.389ModeratorDaveS28.10.05 11:18
Vielen Dank Dave! 1.148Flameboy28.10.05 13:17

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel