C sharp - El texto fantasma....

 
Vista:

El texto fantasma....

Publicado por Fancesc (17 intervenciones) el 15/12/2006 12:38:42
Buenos días compañeros, mirad tenogo un Mdi padre y un mdi hijo, en el hijo tengo 2 TEXTBOX....

Bien desde el padre creo el nuevo formulario hijo a través de un botón:

private void nuevotoolStripButton_Click(object sender, EventArgs e)
{

NuevosLinks VentanaNuevosLinks = new NuevosLinks();
VentanaNuevosLinks.MdiParent = this;
VentanaNuevosLinks.Show();
nuevotoolStripButton.Enabled = false;
saveToolStripButton.Enabled = true;
saveToolStripMenuItem.Enabled = true;
newToolStripMenuItem.Enabled = false;


}

escribo algo en el textbox1 y en el texbox2 y le doy al boton guardar situado en un toolbar del padre:

public NuevosLinks NuevosLinksGeneral = new NuevosLinks(); //instancia general

private void saveToolStripMenuItem_Click(object sender, EventArgs e)
{
string link, poblacion;
link = NuevosLinksGeneral.textbox1.text;
poblacion = NuevosLinksGeneral.texbox2.text;
}

Y a que no sabeís el valor de las variables LINK y población:

link = ""
poblacion = ""

PORQUE LEXES NO ME COJE EL TEXTO DEL FORMULARIO HIJO CUANDO LE DOY AL BOTON DEL FORMULARIO PADRE PARA QUE GUARDE???!!!!:s:s:s:s
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:El texto fantasma....

Publicado por fisa (87 intervenciones) el 19/12/2006 12:44:46
es sencillo.
Vos llamas al formulario NuevosLinks desde una instancia determinada del formulario General. Despues, dentro del formulario NuevosLinks haces OTRA instancia del formulario General, asi que por mas que modifiques todo lo que se te cante en esa instancia, no es la misma desde donde llamaste al formulario, osea que no es la misma que estás viendo. Lo que estas haciendo nunca funcionaria. Es programacion orientada a objetos.
Si queres hacer algo con el formulario padre, vas a tener que de alguna manera pasarle una referencia del la instancia del formulario General a tu formulario.
Lo que normalmente se hace es tener una variable del formulario general en el formulario hijo, y antes de mostrar al formulario hijo, le pasas la instancia actual del formulario padre.

Seria asi:

en el hijo tenes una variable publica MiFormularioPadre, que NO instancias desde el formulario hijo, nunca.

y en el formulario padre, cuando llamas al formulario hijo, tendrias asi:

FormularioHijo MiFormularioHijo = new FormularioHijo();
MiFormularioHijo.MiFormularioPadre = this;
MiFormularioHijo.Show();

(mas todas las cosas que necesites en el medio)
Espero haber ayudado. Suerte
Chau!

Fisa
MSN: [email protected]
Correo: [email protected]
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