Referencia a un control de form

20/03/2009 - 16:38 por Heriberto | Informe spam
Hola como estan.

En un Form de windows necesito hacer lo siguiente, a lo mejor es algo
sencillo pero no se mucho:

Es un form donde se leen muchisimos datos que el usuario va digitando en un
orden determinado. El usuario puede ir salvando los datos digitados y sale
con frecuencia del form para luego volver a continuar con los datos
faltantes.
Me piden que el sistema guarde la ubicacion (el control) donde quedo el
usuario para que al volver a abrir el form se posicione en ese mismo
control.

No logro como guardar una referencia con la propiedad ActiveControl ya que
si cierran el form, esa referencia se pierde. Ademas que cuando hay varios
containers, tabControls, etc. ActiveControl no funciona bien.

Yo lo veo como que debo guardar es algo asi como la "ruta" del control:
Ejemplo. Container1.tabPage1.textBox1

Como podria hacerlo ? y tambien como podria teniendo esa "ruta" encontrar
el correspondiente control cuando vuelva a entrar al form?
 

Leer las respuestas

#1 Albert
20/03/2009 - 18:07 | Informe spam
Hola,

Al salir guardas el nombre del control activo en la configuración, y al cargar le das el foco:

private void Form1_Load(object sender, EventArgs e)
{
String ctl=RecuperaNombreControl(this);
if(ctl != null)
{
this.Controls[ctl].Select();
}
}

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
GuardarNombreControl(this, this.ActiveControl.Name);
}

En este ejemplo tienes dos funciones, la de RecuperarNombreControl que se supone te devuelve un String
con el nombre del control del formulario Form1 (this).
La otra GuardarNombreControl.

Tienes diversas formas de guardar estos valores, en registro, con el ConfigurationManager, en base de datos, etc.

Saludos,

Albert

Hola como estan.

En un Form de windows necesito hacer lo siguiente, a lo mejor es algo
sencillo pero no se mucho:

Es un form donde se leen muchisimos datos que el usuario va digitando en un
orden determinado. El usuario puede ir salvando los datos digitados y sale
con frecuencia del form para luego volver a continuar con los datos
faltantes.
Me piden que el sistema guarde la ubicacion (el control) donde quedo el
usuario para que al volver a abrir el form se posicione en ese mismo
control.

No logro como guardar una referencia con la propiedad ActiveControl ya que
si cierran el form, esa referencia se pierde. Ademas que cuando hay varios
containers, tabControls, etc. ActiveControl no funciona bien.

Yo lo veo como que debo guardar es algo asi como la "ruta" del control:
Ejemplo. Container1.tabPage1.textBox1

Como podria hacerlo ? y tambien como podria teniendo esa "ruta" encontrar
el correspondiente control cuando vuelva a entrar al form?




Preguntas similares