elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  [C#] borrar TextBox's en un bucle
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [C#] borrar TextBox's en un bucle  (Leído 12,706 veces)
SRVAM

Desconectado Desconectado

Mensajes: 130


Ver Perfil
[C#] borrar TextBox's en un bucle
« en: 5 Enero 2010, 14:54 pm »

buenas de nuevo a todos!!

me gustaria saber como puedo borrar 6 textbox en un bucle pero solo con una linea de codigo.
he probado a hacer un array de objetos donde meto los textbox pero no es posible hacerlo. ni tampoco se puede hacer como en visual basic 6, que podias crear matrices de objetos y asi borrarlos todos en un bucle de golpe.
no se si esto es posible hacerlo en C#, yo creo que no, pero a lo mejor alguien aqui sabe como haberlo.

espero que podais ayudarme.

saludos a todos!!


En línea

C# Programmer

-Estudiante MCTS .NET Framework 3.5-
[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: [C#] borrar TextBox's en un bucle
« Respuesta #1 en: 5 Enero 2010, 16:15 pm »

Claro que es posible,

Y no es muy dificil, voy a codear acá así que no aseguro que compile jaja:


Supongamos que ya tienes los controles en un arreglo/vector/matriz y se llama m_textBoxesArray:

Código:
foreach(TextBox t in m_textBoxesArray)
   t.Clear();

:D así de fácil,

Si no tienes los controles en una variable, entonces los sacas de el container en dónde se encuentren, ejemplo, si están tirados en el form:

Código:
foreach(Control t in this.Controls)
{
     if(t is TextBox)
        ((TextBox)t).Clear();
}

o si están dentro de un groupbox:

Código:
foreach(Control t in this.mygroupbox.Controls)
{
     if(t is TextBox)
        ((TextBox)t).Clear();
}

Saludos!


En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: [C#] borrar TextBox's en un bucle
« Respuesta #2 en: 5 Enero 2010, 18:28 pm »

Vaciar Contenido de los Textbox (Windows Forms)- VB y CSharp

Aqui les dejo la forma de limpiar los Textbox de los Windows Forms, por que en muchas ocasiones hemos cometido el groso error de decirle a cada textbox que su valor es “”… lo bueno de este truquillo es que si tiene texto o numero o lo que sea este lo deja vacio.. Espero que les guste.

VB:
Código
  1. 'Declaramos nuestro metodo que hara la limpieza de los textbox
  2. Private Sub LimpiarTextBox(ByVal ofrm As Form)
  3.     'hace un chequeo por todos los textbox del formulario
  4.     For Each oControl As Control In ofrm.Controls
  5.         If TypeOf oCobtrol Is TextBox Then
  6.             oControl.Text = ""
  7.         End If
  8.     Next
  9. End Sub
  10.  
  11. Private Sub BtnPruebaLimpiarTextBox_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnPruebaLimpiarTextBox.Click
  12.     Call LimpiarTextBox(Me)
  13. End Sub
  14.  

C#:
Código
  1. // Declaramos nuestro metodo que hara la limpieza de los textbox
  2. private void LimpiarTextBox(Form ofrm){
  3.     // hace un chequeo por todos los textbox del formulario
  4.     foreach (Control oControls in ofrm.Controls){
  5.         if (oControls is TextBox){
  6.             oControls.Text = ""; // eliminar el texto
  7.         }
  8.     }
  9. }
  10.  
  11. private void BtnPruebaLimpiarTextBox_Click(System.Object sender, System.EventArgs e){
  12.     // pasar el formulario
  13.     LimpiarTextBox(this);
  14. }

Fuente: http://alexjimenez.wordpress.com/2008/01/25/truco-vaciar-contenido-de-los-textbox-windows-forms-vb-y-csharp/

Saludos!
En línea

Te vendería mi talento por poder dormir tranquilo.
[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: [C#] borrar TextBox's en un bucle
« Respuesta #3 en: 5 Enero 2010, 19:57 pm »

Citar
oControls.Text = "";
Amigo Sheel Root, "" es mala practica, además si quieres hacer una función que limpie controles de una colección lo mejor es pasar como parámetro un ControlCollection.

En vez de usar "" es mejor utilizar String.Empty.

y la función quedaría así:

Código:
private void LimpiarTextBox(Control.ControlCollection controls){
     // hace un chequeo por todos los textbox del formulario
     foreach (Control oControls in ofrm.Controls){
         if (oControls is TextBox){
             oControls.Text = ""; // eliminar el texto
         }
     }
 }

private void BtnPruebaLimpiarTextBox_Click(System.Object sender, System.EventArgs e){
     // pasar el formulario
     LimpiarTextBox(this.Controls);
 }


ya que si los controles están dentro de otro contenedor, no los agarraria..

Claro si quieres limpiar todos, lo mejor es hacer una funcion recursiva..


Saludos!
En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: [C#] borrar TextBox's en un bucle
« Respuesta #4 en: 5 Enero 2010, 20:42 pm »

Amigo Sheel Root, "" es mala practica
Por su pollo, eso mismo me pregunté, uso las "" pero en Aspx.Net. Además el code no es mio... Mira la fuente...

Saludos!
En línea

Te vendería mi talento por poder dormir tranquilo.
[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: [C#] borrar TextBox's en un bucle
« Respuesta #5 en: 5 Enero 2010, 21:12 pm »

AH jaaajja yo apenas si leí eso rápido jajaja

Por su pollo? ajjajaja ta buena xD
En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: [C#] borrar TextBox's en un bucle
« Respuesta #6 en: 5 Enero 2010, 21:25 pm »

Por su pollo? ajjajaja ta buena xD
Simon!

http://www.youtube.com/watch?v=Q_SjqRAO3f8
En línea

Te vendería mi talento por poder dormir tranquilo.
SRVAM

Desconectado Desconectado

Mensajes: 130


Ver Perfil
Re: [C#] borrar TextBox's en un bucle
« Respuesta #7 en: 7 Enero 2010, 00:13 am »

jaja gracias por la respuesta :D

no habia caido yo en usar el bucle foreach xDD vengo del VB6 y claro, eso de los objetos indexados es una mala costumbre... pero bueno, todos los dias se aprende algo ajaja

thanks  ;-)
En línea

C# Programmer

-Estudiante MCTS .NET Framework 3.5-
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Borrar linea 1 de textbox multilinea y que la 2ª, suba a la primera?
.NET (C#, VB.NET, ASP)
usuario oculto 5 10,717 Último mensaje 4 Agosto 2011, 19:48 pm
por usuario oculto
Borrar texto de un textbox
.NET (C#, VB.NET, ASP)
BrokerJoker 4 6,802 Último mensaje 30 Enero 2012, 20:09 pm
por Sk9ITk5Z
Borrar última línea de un textbox « 1 2 »
Programación Visual Basic
extreme69 12 12,169 Último mensaje 12 Mayo 2012, 23:13 pm
por extreme69
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines