Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/01/2008, 04:48
osolis
 
Fecha de Ingreso: enero-2008
Mensajes: 1
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Agregar controles dinamicamente. C#

Que tal!. No se si ya resolviste tu problema. La verdad lo intente y a mi me funciono, me mostraba el texto para el atributo value.

Ahora te pregunto algo: Una vez agregado el control en mi caso un TextBox a un panel que esta en el formulario, si el usuario digita algo sobre este textbox como puedo obtener lo que acaba de digitar la persona.

Sabes como solucionar esto?

O alguien sabe como?

Saludos, y muchas gracias

Cita:
Iniciado por chcma Ver Mensaje
Hola buenas tardes,

Tengo una clase que me crea un Control segun el tipo que le indique, con una funcion que devuelve true si se ha creado correctamente, el codigo de dicha funcion es algo asi:

Código:
		public bool CreaControl(int Ancho, int Alto, string Nombre, string Texto, TipoControl Tipo, string Estilo, ref WebControl MiControl)
		{
			switch(Tipo)
			{
				case TipoControl.Boton:
					MiControl = new Button();
					MiControl.ID = Nombre;
					MiControl.Attributes["Text"] = Texto;
					MiControl.Attributes["value"] = Texto;
					MiControl.Width = Ancho;
					MiControl.Height = Alto;
					//MiControl.Style = Estilo;
				break;

				case TipoControl.CajaTexto:
					MiControl = new TextBox();
					MiControl.ID = Nombre;
					MiControl.Attributes.Add("Text", Texto);					
					MiControl.Width = Ancho;
					MiControl.Height = Alto;
					//MiControl.Style = Estilo;
				break;
			}
			return true;
		}

Bueno, creo el objeto de dicha clase (Naturalmente solo he puesto la funcion no voy a poner todo el codigo de la clase, que solo lleva demás una enumeracion llamada TipoControl), y creo el Control sin problemas, pero el control me aparece sin el texto asignado y sin el Value... ¿Alguien sabe por qué es?, el boton me aparece ee.

Código:
private WebControl objControl;
private System.Web.UI.Control objFormulario;
private CreaControles objCreador;

		private System.Web.UI.HtmlControls.HtmlGenericControl Capa;
private void Page_Load(object sender, System.EventArgs e)
{
	objFormulario = this.FindControl("Form1");
	objCreador = new CreaControles();

	if (objCreador.CreaControl(20, 30, "idBoton", "Un Boton", CreaControles.TipoControl.Boton,"", ref objControl))
		{
		Capa = new HtmlGenericControl("div");
		Capa.Controls.Add(objControl);
		objFormulario.Controls.Add(Capa);
	}
}