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

Controles Dinamicos C#

Estas en el tema de Controles Dinamicos C# en el foro de ASPX (.net) en Foros del Web. Hola, muy buenas tardes, Creo que en el anterior Post no me explique bien, asi que voy a explicarme detenidamente que es lo que estoy ...
  #1 (permalink)  
Antiguo 17/05/2006, 04:06
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 10 meses
Puntos: 7
Controles Dinamicos C#

Hola, muy buenas tardes,

Creo que en el anterior Post no me explique bien, asi que voy a explicarme detenidamente que es lo que estoy intentando hacer...

Quiero crear una clase, que pasandole un Objeto del tipo Object por referencia, me lo convierte al tipo de Control que le solicite en otro parametro. Para ello, la case conversora tiene una funcion que es algo como:

Código:
public bool CreaControl(int Ancho, int Alto, string Nombre, string Texto, TipoControl Tipo, string Estilo, ref Object MiControl)
{
    switch (Tipo)
    {
        case TipoControl.WebBoton:
            MiControl = new Button();
            MiControl.ID = Nombre;
            MiControl.Text = Texto;
            MiControl.Value = Texto;
            MiControl.Width = Ancho;
            MiControl.Height = Alto;
            MiControl.Style = Estilo;
            break;
    }
}
Y para crear el control hago lo siguiente:
Código:
private object objControl;
private System.Web.UI.Control objFormulario;
private CreaControles objCreador;
objFormulario = this.FindControl("Form1");
objCreador = new CreaControles();
if (objCreador.CreaControl(100, 30, "idBoton", "Un Boton", CreaControles.TipoControl.HtmlBoton, "", ref objControl))
{
    objFormulario.Controls.Add(objControl);
}
Sin embargo, al compilar, me da un error en la clase diciendome que Object no dispone de esos métodos.... pero si es Object, debería aceptarlos, ¿Verdad?

En fin, haber si alguien me puede ayudar con esta "clasecilla" que se está volviendo en "Cabroncilla".

Un saludo muy fuerte para toos.
__________________
Charlie.
  #2 (permalink)  
Antiguo 17/05/2006, 19:38
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
entiendo lo que tratas de hacer pero realmente sería un poco talachudo colocarte el ejemplo y mas ahorita que ya llevo mas de 10 horas en mi trabajo jeje... pero no sería más fácil sy haces el add dentro de tu método ? para pasarle directamente el tipo.. quedando de ésta forma (quitando el valor boolean que regresa):

Cita:
public void CreaControl(int Ancho, int Alto, string Nombre, string Texto, TipoControl Tipo, string Estilo)
{
switch (Tipo)
{
case TipoControl.WebBoton:
Button MiControl = new Button();
MiControl.ID = Nombre;
MiControl.Text = Texto;
MiControl.Value = Texto;
MiControl.Width = Ancho;
MiControl.Height = Alto;
MiControl.Style = Estilo;
objFormulario.Controls.Add(MiControl );
break;
}
}
... o si eso no te sirve cual es la finalidad de que le regreses un boolean .??

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 18/05/2006, 02:55
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 10 meses
Puntos: 7
Gracias RootK, me has dado una idea de como realizar el tema. Lo hacía para si había un error al controlar el control, sacase un mesanje de error.

if(....)

else
lblError.Text = objNegocio.CadenaError
end if
__________________
Charlie.
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 23:29.