Curioso comportamiento de un SplitContainer

06/11/2005 - 01:05 por Zephryn Xirdal | Informe spam
Hola.

Estoy intentando poner en marcha una aplicación que tiene un
SplitContainer, pero hay una cosa que me lleva como loco.

La propiedad SplitterDistance obtiene/pone la distancia desde el origen
del control del separador. Lo que hago es cuando termino la aplicación,
guardo ese valor (entre otros muchos) y cuando la lanzo, lo recupero de
disco y lo asigno en el constructor del form.

Lo curioso es que cuando cargo el form y le pongo el WindowState a
Maximized (porque se cerró asi), al asignar el valor guardado del
SplitterDistance, se cambia este valor por el obtenido y luego por el
doble del mismo (lo sé porque capturo el SplitterMoved y veo que se
dispara dos veces con esos valores). El comportamiento si la ventana está
en Normal es el correcto.

¿Alguien sabe por qué esto es así, o qué estoy haciendo mal?

Si los hombres se limitaran a hablar solamente de lo que entienden, apenas
hablarían.
 

Leer las respuestas

#1 Zephryn Xirdal
06/11/2005 - 01:45 | Informe spam
Hash: SHA1

Zephryn Xirdal wrote:
Hola.

Estoy intentando poner en marcha una aplicación que tiene un
SplitContainer, pero hay una cosa que me lleva como loco.

La propiedad SplitterDistance obtiene/pone la distancia desde el origen
del control del separador. Lo que hago es cuando termino la aplicación,
guardo ese valor (entre otros muchos) y cuando la lanzo, lo recupero de
disco y lo asigno en el constructor del form.

Lo curioso es que cuando cargo el form y le pongo el WindowState a
Maximized (porque se cerró asi), al asignar el valor guardado del
SplitterDistance, se cambia este valor por el obtenido y luego por el
doble del mismo (lo sé porque capturo el SplitterMoved y veo que se
dispara dos veces con esos valores). El comportamiento si la ventana
está en Normal es el correcto.

¿Alguien sabe por qué esto es así, o qué estoy haciendo mal?



Solucionado: no se puede cambiar la posición en el constructor del form,
hay que hacerlo en Load. Ahora la pregunta es: ¿por qué en
InicializeComponents sí (que está en el constructor) y más abajo no?

Preguntas similares