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.

Preguntas similare

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?
Respuesta Responder a este mensaje
#2 Octavio Hernandez
06/11/2005 - 20:07 | Informe spam
Zephryn,

No tengo clara la causa, pero me da la impresión de que no es un problema
.NET puro... Me parece recordar haber tenido un problema similar en Delphi
Win32 (allí también la propiedad se llama WindowState).

Slds - Octavio

"Zephryn Xirdal" escribió en el mensaje
news:
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?
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida