Foros del Web » Programando para Internet » ASPX (.net) »

visibilidad de controles en una clase

Estas en el tema de visibilidad de controles en una clase en el foro de ASPX (.net) en Foros del Web. Hola, tengo el siguiente problema, haber si alguno me puede dar una ayuda al respecto. cuando defino una interface (web, win) para que el usuario ...
  #1 (permalink)  
Antiguo 08/01/2009, 11:16
Avatar de Porlachucha  
Fecha de Ingreso: noviembre-2008
Ubicación: Santiago
Mensajes: 172
Antigüedad: 15 años, 6 meses
Puntos: 5
visibilidad de controles en una clase

Hola, tengo el siguiente problema, haber si alguno me puede dar una ayuda al respecto.
cuando defino una interface (web, win) para que el usuario ingrese datos (por ejemplo). en esa interface defini controles, ej labels, combobox, textbox, etc.
estos controles tienen visibilidad dentro de la clase que define mi formulario, y son visibles en toda la clase.
Cuando yo creo otra clase, para manejar el como esos controles procesan los datos (capa de negocios) pierdo la visibilidad del control, y es porque existen dentro de la otra clase (formulario).
la pregunta es, Como se puede acceder al control, desde otra clase?

ejemplo

namespace WindowsApplication4
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
textBox1.Text = "en esta clase veo mi control textbox";
label1.Text = "tambien mi label";

// instancio mi clase
cMiClase cMC = new cMiClase();
// desde aca tengo visibilidad hacia las funciones de mi clase
cMC.vMiFuncionPublica("parametro");
}

private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = "dentro de mi button tambien veo mi textbox";
cMiClase cMC = new cMiClase();
// desde aca tambien tengo visibilidad hacia las funciones de mi clase
cMC.vMiFuncionPublica("parametro");

}
}

en esta parte del codigo, veo que desde mi clase Form1 : Form que es del tipo formulario, puedo ver los controles que este tiene (ovbio)

Pero si yo creo otra clase, por ejemplo


public class cMiClase : Form1
{
public void vMiFuncionPublica(string sParametro)
{
sParametro = "hago algo con mi parametro";
// desde aca ya no puedo ver los controles de mi form
label1.Text = "aqui ya no tengo acceso a este control";
return;
}

private void vMiFuncionPrivada(int iOtroParametro)
{
textBox1.Text = "aca ya no tengo este control";

return;
}
}
}

desde mi segunda clase cMiClase, ya no tengo visibilidad sobre los controles.

Si alguien me puede decir que estoy haciendo mal, o que concepto me falta para investigar, les agradezco de antemano.
Saludos Foreros
  #2 (permalink)  
Antiguo 08/01/2009, 21:24
Avatar de BlueSkull  
Fecha de Ingreso: noviembre-2008
Ubicación: Chile
Mensajes: 504
Antigüedad: 15 años, 5 meses
Puntos: 4
Respuesta: visibilidad de controles en una clase

Cita:
Iniciado por Porlachucha Ver Mensaje
Hola, tengo el siguiente problema, haber si alguno me puede dar una ayuda al respecto.
cuando defino una interface (web, win) para que el usuario ingrese datos (por ejemplo). en esa interface defini controles, ej labels, combobox, textbox, etc.
estos controles tienen visibilidad dentro de la clase que define mi formulario, y son visibles en toda la clase.
Cuando yo creo otra clase, para manejar el como esos controles procesan los datos (capa de negocios) pierdo la visibilidad del control, y es porque existen dentro de la otra clase (formulario).
la pregunta es, Como se puede acceder al control, desde otra clase?

ejemplo

namespace WindowsApplication4
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
textBox1.Text = "en esta clase veo mi control textbox";
label1.Text = "tambien mi label";

// instancio mi clase
cMiClase cMC = new cMiClase();
// desde aca tengo visibilidad hacia las funciones de mi clase
cMC.vMiFuncionPublica("parametro");
}

private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = "dentro de mi button tambien veo mi textbox";
cMiClase cMC = new cMiClase();
// desde aca tambien tengo visibilidad hacia las funciones de mi clase
cMC.vMiFuncionPublica("parametro");

}
}

en esta parte del codigo, veo que desde mi clase Form1 : Form que es del tipo formulario, puedo ver los controles que este tiene (ovbio)

Pero si yo creo otra clase, por ejemplo


public class cMiClase : Form1
{
public void vMiFuncionPublica(string sParametro)
{
sParametro = "hago algo con mi parametro";
// desde aca ya no puedo ver los controles de mi form
label1.Text = "aqui ya no tengo acceso a este control";
return;
}

private void vMiFuncionPrivada(int iOtroParametro)
{
textBox1.Text = "aca ya no tengo este control";

return;
}
}
}

desde mi segunda clase cMiClase, ya no tengo visibilidad sobre los controles.

Si alguien me puede decir que estoy haciendo mal, o que concepto me falta para investigar, les agradezco de antemano.
Saludos Foreros
Estimado, checkea las visibilidades private, public, protected, puede que sea eso, acuerdate que las visibilidades son las que te permiten ver o acceder a variables o metodos entre las clases. Cuentame que onda, adios.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:40.