drawing en deleting

Status
Niet open voor verdere reacties.

stenhoeve21

Gebruiker
Lid geworden
7 feb 2013
Berichten
26
Ik zit al een tijdje te broeden op het volgende. Ik heb een Windowsform met een picturebox, 4 textboxen en twee buttons. Met een van de buttons kan ik een lijn tekenen aan de hand van de coördinaten die kunnen worden ingevoerd in de textboxes. Dit tekenen kan meerdere keren gebeuren. Met de andere button kan ik de laatst getekende lijn weer verwijderen, klik ik nogmaals op de button dan wordt de dan laatst getekende lijn weer verwijderd etc.. Hoe kan ik ervoor zorgen dat de coördinaten worden onthouden en ik aldus de lijnen kan verwijderen? Had al iet geprobeerd met list(Of T) maar kom daar niet uit.
 
List kan inderdaad, gewone array ook. Waar kom je precies niet uit? welk deel van de uitvoering?
 
List kan inderdaad, gewone array ook. Waar kom je precies niet uit? welk deel van de uitvoering?

Ik had onderstaande code maar waarschijnlijk slaat het nergens op. Ik he gewoon geen idde hoe dit toe te passen. Als ik een array zou gebruiken hoe krijg ik dat dan voor elkaar? Zit al eemn paar dagen te worstelen en natuurlijk door te doen leer je maar het frustreert wel enorm...

Code:
Public Class form1
    Dim drawpoints As New List(Of String)
    Public Sub lines(ByVal e As Object)
        Dim drawpoints As New List(Of String)
        'Dim graphics As Graphics
        drawpoints.Add(startX.Text)
        drawpoints.Add(startY.Text)
        drawpoints.Add(endX.Text)
        drawpoints.Add(endY.Text)
        MsgBox(drawpoints.Count)
        'graphics = PictureBox1.CreateGraphics
        'Dim pen As New Pen(Color.Red)
        'graphics.DrawLine(pen, CInt(TextBox1.Text), CInt(TextBox2.Text), CInt(TextBox3.Text), CInt(TextBox4.Text))
    End Sub
    Private Sub btnDrawLine_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDrawLine.Click
        lines(e)
    End Sub
    Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click
        drawpoints.Remove(startX.Text)
        drawpoints.Remove(startY.Text)
        drawpoints.Remove(endX.Text)
        drawpoints.Remove(endY.Text)
        MsgBox(drawpoints.Count)
        'PictureBox1.Refresh()
    End Sub
End Class
 
Je kunt een type of beter 'class' gebruiken en vervolgens deze in een list zitten. nu zet je individuele punten in de lijst.

Dat lijkt vaak wat omslachtig in kleine projecten, maar het is het beste om jezelf meteen aan te leren om met classes te werken en zodoende je werk beter vorm te geven.
 
Je kunt een type of beter 'class' gebruiken en vervolgens deze in een list zitten. nu zet je individuele punten in de lijst.

Dat lijkt vaak wat omslachtig in kleine projecten, maar het is het beste om jezelf meteen aan te leren om met classes te werken en zodoende je werk beter vorm te geven.

Dank voor je reactie. Is het mogelijk dat je hier een voorbeeld van geeft hoe dit toe te passen om mij op weg te helpen?
 
Ik heb helaas even geen werkende VB.net, maar zoiets is de basis:

Code:
'in aparte class:
Class coords
   Public x1 as long
   Public x2 as long
   Public y1 as long
   Public y2 as long
   Sub Coords (x1 as long, x2 as long, y1 as long,y2 as long)
      Me.x1 = x1
      Me.y1 = y1
      Me.x2 = x2
      Me.y2 = y2
   end sub

End Class

' in form class:
Dim drawpoints As New List(Of coords)

Je kunt dus een eigen class in een list plaatsen. Je kunt in dit geval zelfs eventueel de sub weglaten en alleen de 4 coordinaten erin laten
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan