Encontrar un TextBox

Necesito saber como "Saber" si un TextBox Existe o no...
Tengo 15 textbox con el mismo nombre (solo se diferencian con un numero), y quiero hacer algo así:
int i=0;
if(txtbox(i).text != "")
{
XmlWriteStartElement(null, "Hola", null);
XmlWriteString(txtBox(i).Text);
XmlWriteEndElement();
i++;
}
Así sabre si el campo fue rellenado o no.
Todo esto es en Csharp.

1 Respuesta

Respuesta
1
haber dices que tienes 15 txt, lo que nos darias los nombres TextBox1,TextBox2,TextBox3,etc cierto
ahora quieres ver si tienen algo puesto en el txt cierto yo lo haria algo asi
for(int i=1;i<=15;i++)
{
//ojo ese del this debe ser el contenedor que contenga los 15 txt
//me supongo que debes tenerlos a todos en un form por eso pongo el this.!!! ok :)
    TextBox txtGenerico = this.FindControl("TextBox"+i.ToString());
if(txtGenerico != null)
{
if(txtGenerico.Text.Length > 0)
{
//lo que deseas hacer
}
}
}
Ojo no está compilado así que pueden haber fallos de sintaxis :), pero al lógica con la que lo ahria seria esa
saludos y suerte
Por cierto pa la próxima solo basta que crees una vez la pegunta jajaja, toy con dos preguntas de la misma por eso te respondo doble jajaja
jaja disculpa pensé que era para web, es parecido lo que tienes que hacer en forms hay dos formas ahí te las paso
1) Encontrar por nombres (super rapido podrías ponerles dentro del form o algo por el estilo)
Control[] controles = this.Controls.Find("textBox1", true);
MessageBox.Show((controles[0] as TextBox).Text);
2) Forma barrido con foreach (un poco más lento porque se barre todos los controles del form)
//instancio una lista de controles
Control.ControlCollection lista = new Control.ControlCollection(this);
//asigno a la lista de controles todos los controles del formulario
lista = this.Controls;
//me barro toos los controles
foreach (Control item in lista)
{
//con esto te obtiene solo los txt y te obtiene todos
if (item.GetType() == typeof(TextBox))
{
//aqui ahces las operacioens que requieras
MessageBox.Show(item.Text);
}
}

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas