Visual Basic - Control que dibuja linea en un objeto Graphic

Life is soft - evento anual de software empresarial
 
Vista:

Control que dibuja linea en un objeto Graphic

Publicado por Carl (4 intervenciones) el 26/05/2015 17:41:00
Estoy haciendo un control que realiza el dibujo de una linea en un panel con un objeto graphics mediante g.DrawLine en el metodo Paint del control a través de un procedimiento que le suministra al control las coordenadas de la linea en tiempo de ejecucion
Cuando pruebo el funcionamiento del control en la depuración funciona perfectamente, pero cuando incluyo el control en un Form no se dibuja aunque el procedimiento se ejecuta.
Si pudieran ayudarme a descubrir que esta pasando agradeceria. No se que información adicional precisen pero a las ordenes.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 8
Ha disminuido su posición en 15 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Control que dibuja linea en un objeto Graphic

Publicado por Horroroso (13 intervenciones) el 26/05/2015 19:24:45
No se dibuja nada o se borra despues de dibujado. O al momento de modificar el tamaño del control?
porque probe creando un control, que dibuja una linea tal cual en un Panel en el metodo paint del control y si se dibuja.

podrias mostrar el codigo del control?

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Control que dibuja linea en un objeto Graphic

Publicado por Carl (4 intervenciones) el 26/05/2015 23:21:06
1
2
3
4
5
6
7
8
Private Sub PaperGraph_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
        Dim j As Integer
 
 
        For j = 2 To Ordenadas(0)
            If Datos(j) >= 0 Then g.DrawLine(pen, Int(Ordenadas(j - 1)), int(Datos(j - 1)), Int(Ordenadas(j)), Int(Datos(j)))
        Next
    End Sub

Datos j y ordenadas j so array de valores contenidos entre Heigth y Width respectivamente. Al parecer el problema es que las dimensiones que uso al diseñar el control no se ajustan al tamaño que dibujo el control al ingresarlo al Form. O sea, ya se la causa ( si dibujo en el form un panel más grande sale OK,) pero yo necesito que se adapte . ¿hago una nueva pregunta?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 8
Ha disminuido su posición en 15 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Control que dibuja linea en un objeto Graphic

Publicado por Horroroso (13 intervenciones) el 28/05/2015 16:55:06
Gracias por responder, generalmente no le dan seguimiento.

Quiero entender entonces que el problema es que manteniendo las coordenadas estas se ajusten y hagan una especie de zoom al disminuir o aumentar el tamaño del control?

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Control que dibuja linea en un objeto Graphic

Publicado por Carl (4 intervenciones) el 30/05/2015 04:09:34
No, la idea era hacer el control sin dimensiones definidas en la clase, y que se pudiera utilizar con el tamaño que me convenga según el form. Lo que me pasaba inicialmente era que al utilizar g=Me.CreateGrafic las dimensiones de g me que quedaban fijas al tamaño que utilizaba en el diseño de la clase, y si dibujaba en el Form un control más grande no mostraba nada hasta que los valores llegaban a las dimensiones de g( las lineas se dibujan de derecha a izquierda y en la prueba las generaba con un click de mouse) Por eso en el diseño de la clase veía todo bien y en el Form no. Cambie como definia g y pase a definirlo dentro del metodo Paint asignandole el valor de e.Graphic. Esto lo soluciono pero demore dos días en darme cuenta porque seguía usando el proyecto original y cuando cargaba el form me salía siempre el diseño viejo. Tire todo menos el control y empece un form en un proyecto nuevo y chau pinela.
No se si quedo claro, pero a las ordenes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 8
Ha disminuido su posición en 15 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Control que dibuja linea en un objeto Graphic

Publicado por Horroroso (13 intervenciones) el 02/06/2015 00:10:35
Muy Claro, Y que bueno que pudiste solucionar tu problema, y tambien que bueno que nos explicaste que fue lo que generaba el problema, asi otros (o al menos yo) aprendimos algo nuevo.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar