referencias a controles(2)

30/09/2004 - 18:11 por Jose Vicente Cheto Ortiz | Informe spam
Hola amigos:

Perdonen que siga insistiendo en el tema

Pero... la verdad es que crei que seria mas facil, en Delphi para hacer
referencia a un control que
estaba en otro formulario bastaba con
añadir
el formulario al uses del otro y listo, pero bueno
Con la solucion de octavio, que era crear una propiedad

public bool EstaChecked
{
get
{
return checkBox1.Checked;
}
set
{
checkBox1.Checked = value;
}
}

De esta manera será accesible:

Form1 frm = new Form1();

if (frm.EstaChecked)
//Realizar tarea.


Me deja acceder perfectamente, pero si no dejo por defecto el
checkBox1 propiedad Checked a True. No me funciona.
Me explico:
Si lo dejo como esta por defecto en false y en tiempo de ejecucion lo pulso
para activarlo.
cuando paso al otro formulario no se entera .

¿Alguna otra solucion o un arreglo para esta Octavio?

gracias adelantadas.

Saludos
http://perso.wanadoo.es/jvtecheto
 

Leer las respuestas

#1 Guillermo guille
30/09/2004 - 22:31 | Informe spam
no soy Octavio, pero...

Si el código que usas para acceder a esa propiedad es el que muestras, el
problema es que estás creando un nuevo objeto del formulario (Form1) cada vez
que ejecutas ese código, por tanto, siempre que ejecutes esas instrucciones
crearás un nuevo formulario el cual está oculto (ya que no has llamado al
método Show) y por eso no lo ves.
La solución sería hacer la variable frm local (declarada a nivel de clase) y
sólo instanciarla si realmente no está en la memoria.
Algo así:

if(frm == null || frm.IsDisposed)
frm = new Form1();

if (frm.EstaChecked)
//Realizar tarea.


Nos vemos.
Guillermo
Microsoft VB MVP desde 1997
Te invito a mi sitio dedicado al VB y más...
http://www.elguille.info/
http://www.mundoprogramacion.com/
(puede que el correo usado sea anti-spam)


"Jose Vicente Cheto Ortiz" wrote in message
news:
Hola amigos:

Perdonen que siga insistiendo en el tema

Pero... la verdad es que crei que seria mas facil, en Delphi para hacer
referencia a un control que
estaba en otro formulario bastaba con
añadir
el formulario al uses del otro y listo, pero bueno
Con la solucion de octavio, que era crear una propiedad

public bool EstaChecked
{
get
{
return checkBox1.Checked;
}
set
{
checkBox1.Checked = value;
}
}

De esta manera será accesible:

Form1 frm = new Form1();

if (frm.EstaChecked)
//Realizar tarea.


Me deja acceder perfectamente, pero si no dejo por defecto el
checkBox1 propiedad Checked a True. No me funciona.
Me explico:
Si lo dejo como esta por defecto en false y en tiempo de ejecucion lo pulso
para activarlo.
cuando paso al otro formulario no se entera .

¿Alguna otra solucion o un arreglo para esta Octavio?

gracias adelantadas.

Saludos
http://perso.wanadoo.es/jvtecheto



Preguntas similares