Ver Mensaje Individual
  #4 (permalink)  
Antiguo 28/11/2010, 05:24
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Urgenteee por favor¡¡¡

No estoy muy puesto en vb net, pero creo que mas o menos hace esto:

Private Sub Panel1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PanelDibujo.MouseDown

' creamos variable Punto de tipo coordenada
Dim punto As New Point

' la cargamos con las coordenadas donde hemos pinchado
punto.X = e.X
punto.Y = e.Y

' y la guardamos en una matriz
listaPuntos.Add(punto)

' No tengo muy claro como va esto. Imagino que esto hace que se ejecute el evento paint y se dibujen las lineas.
PanelDibujo.Refresh()

End Sub

Private Sub Panel1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PanelDibujo.Paint

' ejecutamos la sub "pintar" dándole como parámetro el grafico donde debe pintar
Pintar(e.Graphics)

End Sub

Private Sub Pintar(ByVal graphics As Graphics)

' creamos un bucle que irá pintando líneas desde cada punto al siguiente en todas las coordenadas memorizadas.
For i As Integer = 0 To listaPuntos.Count - 2 Step 1
graphics.DrawLine(Pens.Blue, listaPuntos.Item(i), listaPuntos.Item(i + 1))
Next

End Sub

Y la sub borrar borrará el grafico donde estamos pintando.

El fallo que veo es que cada vez que marcas un nuevo punto se repintan todas las líneas anteriores, no solo la última. Será porque se borran solas al hacer refresh? no estoy muy seguro.
En otro caso bastaría con recordar donde se había pinchado la ultima vez y en el evento mouse_click directamente pintar la línea y memorizar las nuevas coordenadas para el proximo click.

Tambien hay que tener en cuenta que la primera vez que pinches, al llegar al bucle for next sólo hay un elemento en la matriz, de modo que el
For i As Integer = 0 To listaPuntos.Count - 2 Step 1
se convierte en:
for i = 0 to -1 step 1
lo cual quizá pueda generar un error.

Mejor así?

Saludos
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!