Visual Basic.NET - Panel & Scroll Bars

 
Vista:

Panel & Scroll Bars

Publicado por Julio (3 intervenciones) el 14/03/2006 16:00:21
Hola

Estoy haciendo una aplicación que dibuja polígonos sobre una imágen. la imágen se carga en un picture box, que a su vez está contenido en un panel. Como la imágen puede ser más grande que el picture box, al panel se le pone la propiedad AutoScroll a true cuando esto ocurre. Cada vez que se añade un polígono a la imagen, pasa a engrosar un ListBox. Al seleccionar los distintos polígonos del list box, se redibuja el polígono en la imagen, debiendo esta hacer scroll para que se vea completamente. Para ello, calculo la esquina inferior derecha del polígono y hago:

panel.autoscrollposition = esqderechaabajo

El problema que me ecuentro es que sólo consigo que el scroll pase del estado inicial al final, es decir, o todo a la izquiera-arriba, o todo a la derecha-abajo, y no consigo hacer "scrolles parciales", como cuando lo manejas manualmente con el ratón. Por ello, si se dibuja en la "zona media" del picturebox, al forzar el scroll, no se ve el polígono completo, sólo la mitad inferior (o la superior si hago panel.autoscrollposition = esqizquierdaarriba)

¿Cómo solucionarlo?

saludos...
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

RE:Panel & Scroll Bars

Publicado por Harold (411 intervenciones) el 14/03/2006 16:22:22
Manda tu codigo para darle solucion........
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

RE:Panel & Scroll Bars

Publicado por Julio (3 intervenciones) el 14/03/2006 17:15:37
OK, lo he solucionado. Es que estaba tratando Panel.AutoScrollPosition (de tipo Point) como unas coordenadas absolutas con respecto al origen, cuando en realidad representa un desplazamiento.

Luego la solución no es:

Panel.AutoScrollPosition = Poligono.PuntoMasAlejado

sino:

Panel.AutoScrollPosition = Poligono.PuntoMasAlejado - (800, 400)

en el caso que se quiera desplazar respecto a ese punto.
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