Pasar dato a clase System.windows.Forms.form

16/01/2006 - 09:32 por Eduardo Figueres | Informe spam
Hola, necesito que un formulario instancie un cuadro de dialogo y le pase un
dato (string) para que el cuadro de dialogo lo presente en un textbox. ¿Cómo
puedo pasarlo?

He probado a definir un método public y una propiedad pero no las tengo
accesibles desde el padre.

En la zona de código comentado intento acceder tanto a una propiedad como un
método público de la clase frmPageEdit, pero no las tengo accesibles desde
la clase frmMain.


public class frmMain : System.Windows.Forms.Form
{

private System.Windows.Forms.Form PageEditor;
...

private void buttonEdit_Click(object sender, System.EventArgs e)
{
if (treeView1.SelectedNode == null)
{
PageEditor = new frmPageEdit();
//PageEditor.nodename = txtMyProperty.Text;
//PageEditor.setnodename(txtMyProperty.Text);
PageEditor.ShowDialog();
}
}
} //class frmMain


public class frmPageEdit : System.Windows.Forms.Form
{
public string nodename
{
get
{
return pname;
}
set
{
pname = value;
}
}

private string pname;

public void setnodename(string text)
{
txtpagename.Text = text;
}
} //class frmPageEdit

Preguntas similare

Leer las respuestas

#1 Octavio Hernandez
16/01/2006 - 11:47 | Informe spam
Eduardo,

¿Qué error te da exactamente? Debería funcionar...

Slds - Octavio

"Eduardo Figueres" escribió en el mensaje
news:
Hola, necesito que un formulario instancie un cuadro de dialogo y le pase
un dato (string) para que el cuadro de dialogo lo presente en un textbox.
¿Cómo puedo pasarlo?

He probado a definir un método public y una propiedad pero no las tengo
accesibles desde el padre.

En la zona de código comentado intento acceder tanto a una propiedad como
un método público de la clase frmPageEdit, pero no las tengo accesibles
desde la clase frmMain.


public class frmMain : System.Windows.Forms.Form
{

private System.Windows.Forms.Form PageEditor;
...

private void buttonEdit_Click(object sender, System.EventArgs e)
{
if (treeView1.SelectedNode == null)
{
PageEditor = new frmPageEdit();
//PageEditor.nodename = txtMyProperty.Text;
//PageEditor.setnodename(txtMyProperty.Text);
PageEditor.ShowDialog();
}
}
} //class frmMain


public class frmPageEdit : System.Windows.Forms.Form
{
public string nodename
{
get
{
return pname;
}
set
{
pname = value;
}
}

private string pname;

public void setnodename(string text)
{
txtpagename.Text = text;
}
} //class frmPageEdit

Respuesta Responder a este mensaje
#2 Eduardo Figueres
16/01/2006 - 14:13 | Informe spam
...\frmMain.cs(788): 'System.Windows.Forms.Form' no contiene una definición
para 'nodename'

en el editor al escribir el nombre del objeto PageEditor. aparece la lista
de miembros menos el que yo he codificado.

Pensaba que era una particularidad de la clase Windows.Forms.Form porque
hice la prueba con una clase muy sencilla y no tuve problema alguno.

Saludos,

Eduardo.


"Octavio Hernandez" escribió en el mensaje
news:%23ZQ2%
Eduardo,

¿Qué error te da exactamente? Debería funcionar...

Slds - Octavio

"Eduardo Figueres" escribió en el mensaje
news:
Hola, necesito que un formulario instancie un cuadro de dialogo y le pase
un dato (string) para que el cuadro de dialogo lo presente en un textbox.
¿Cómo puedo pasarlo?

He probado a definir un método public y una propiedad pero no las tengo
accesibles desde el padre.

En la zona de código comentado intento acceder tanto a una propiedad como
un método público de la clase frmPageEdit, pero no las tengo accesibles
desde la clase frmMain.


public class frmMain : System.Windows.Forms.Form
{

private System.Windows.Forms.Form PageEditor;
...

private void buttonEdit_Click(object sender, System.EventArgs e)
{
if (treeView1.SelectedNode == null)
{
PageEditor = new frmPageEdit();
//PageEditor.nodename = txtMyProperty.Text;
//PageEditor.setnodename(txtMyProperty.Text);
PageEditor.ShowDialog();
}
}
} //class frmMain


public class frmPageEdit : System.Windows.Forms.Form
{
public string nodename
{
get
{
return pname;
}
set
{
pname = value;
}
}

private string pname;

public void setnodename(string text)
{
txtpagename.Text = text;
}
} //class frmPageEdit





Respuesta Responder a este mensaje
#3 Octavio Hernandez
17/01/2006 - 00:15 | Informe spam
Eduardo,

Ya caigo! El problema es que has declarado la variable PageEditor de tipo
System.Windows.Forms.Form, y esa clase no incluye la propiedad nodename...

Cambia la declaración por:

private frmPageEdit PageEditor;

y te compilará.

No podría ser una particularidad de la clase Form, sería muy feo que ciertas
clases soportaran unas cosas y otras no. Dejaría de usar C# :-)

Salu2 - Octavio


"Eduardo Figueres" escribió en el mensaje
news:
...\frmMain.cs(788): 'System.Windows.Forms.Form' no contiene una
definición para 'nodename'

en el editor al escribir el nombre del objeto PageEditor. aparece la lista
de miembros menos el que yo he codificado.

Pensaba que era una particularidad de la clase Windows.Forms.Form porque
hice la prueba con una clase muy sencilla y no tuve problema alguno.

Saludos,

Eduardo.


"Octavio Hernandez" escribió en el mensaje
news:%23ZQ2%
Eduardo,

¿Qué error te da exactamente? Debería funcionar...

Slds - Octavio

"Eduardo Figueres" escribió en el
mensaje news:
Hola, necesito que un formulario instancie un cuadro de dialogo y le
pase un dato (string) para que el cuadro de dialogo lo presente en un
textbox. ¿Cómo puedo pasarlo?

He probado a definir un método public y una propiedad pero no las tengo
accesibles desde el padre.

En la zona de código comentado intento acceder tanto a una propiedad
como un método público de la clase frmPageEdit, pero no las tengo
accesibles desde la clase frmMain.


public class frmMain : System.Windows.Forms.Form
{

private System.Windows.Forms.Form PageEditor;
...

private void buttonEdit_Click(object sender, System.EventArgs e)
{
if (treeView1.SelectedNode == null)
{
PageEditor = new frmPageEdit();
//PageEditor.nodename = txtMyProperty.Text;
//PageEditor.setnodename(txtMyProperty.Text);
PageEditor.ShowDialog();
}
}
} //class frmMain


public class frmPageEdit : System.Windows.Forms.Form
{
public string nodename
{
get
{
return pname;
}
set
{
pname = value;
}
}

private string pname;

public void setnodename(string text)
{
txtpagename.Text = text;
}
} //class frmPageEdit









Respuesta Responder a este mensaje
#4 José Escrich
17/01/2006 - 01:57 | Informe spam
tienes mal el type de PageEditor, lo declaraste como un Form y al parecer
quieres que sea..frmPageEdit ..
private frmPageEdit PageEditor;

btw, revisa el case que utilizas en tu código, algunas declaraciones de tipos
estan en camel otras no.
saludos

José Escrich
jescrich (a) gmail.com
http://latincoder.com

EF> Hola, necesito que un formulario instancie un cuadro de dialogo y le
EF> pase un dato (string) para que el cuadro de dialogo lo presente en
EF> un textbox. ¿Cómo puedo pasarlo?
EF>
EF> He probado a definir un método public y una propiedad pero no las
EF> tengo accesibles desde el padre.
EF>
EF> En la zona de código comentado intento acceder tanto a una propiedad
EF> como un método público de la clase frmPageEdit, pero no las tengo
EF> accesibles desde la clase frmMain.
EF>
EF> public class frmMain : System.Windows.Forms.Form
EF> {
EF> private System.Windows.Forms.Form PageEditor;
EF> ...
EF> private void buttonEdit_Click(object sender, System.EventArgs e)
EF> {
EF> if (treeView1.SelectedNode == null)
EF> {
EF> PageEditor = new frmPageEdit();
EF> //PageEditor.nodename = txtMyProperty.Text;
EF> //PageEditor.setnodename(txtMyProperty.Text);
EF> PageEditor.ShowDialog();
EF> }
EF> }
EF> } //class frmMain
EF>
EF> public class frmPageEdit : System.Windows.Forms.Form
EF> {
EF> public string nodename
EF> {
EF> get
EF> {
EF> return pname;
EF> }
EF> set
EF> {
EF> pname = value;
EF> }
EF> }
EF> private string pname;
EF>
EF> public void setnodename(string text)
EF> {
EF> txtpagename.Text = text;
EF> }
EF> } //class frmPageEdit
EF>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida