Metodo para limpar textbox
-
quarta-feira, 15 de fevereiro de 2012 20:37
Boa tarde,
Estou buscando uma solução pratica para limpar o conteudo de varias textbox de uma vez.
Tenho um formulario de cadastro com uma tabcontrol com 3 abas. Neste componente estão as textbox, em cada aba.
Gostaria de criar um metodo que a cada vez que for chamado limpa de uma vez todas as textbox da aba.
Alguém pode me dar uma ideia de como fazer isso? Ao inves de chamar o metodo clear para cada textbox?
Desde já agradeço.
Todas as Respostas
-
quarta-feira, 15 de fevereiro de 2012 20:42
foreach (Control controle in form1.Controls) { if (controle is TextBox) { TextBox txt = (controle) as TextBox; txt.Text = string.Empty; } }For Each controle As Control In form1.Controls If TypeOf controle Is TextBox Then Dim txt As TextBox = TryCast(controle, TextBox) txt.Text = String.Empty End If Next
Paulo César Viana
.NET Developer
MCC - Microsoft Community Contributor
MCP - Microsoft Certified Professional
MCTS - Microsoft Certified Technology Especialist
--
Marque as respostas e contribua para uma melhora no fórum.- Editado Paulo César Viana quarta-feira, 15 de fevereiro de 2012 20:44
-
quarta-feira, 15 de fevereiro de 2012 20:58
Paulo,
Este código esta apresentando erro de sintax, estou desenvolvendo em VB.NET e não estou conseguindo identifiicar os erros. Não tenho muita experiencia em VB.NET
-
quarta-feira, 15 de fevereiro de 2012 21:03
Tente:
For Each controle As Control In Me.Form.Controls If TypeOf controle Is TextBox Then Dim txt As TextBox = TryCast(controle, TextBox) txt.Text = String.Empty End If NextSe der erro poste o erro.
Segue um exemplo para você brincar.<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <asp:TextBox ID="TextBox1" runat="server">ab</asp:TextBox> <br /> <asp:TextBox ID="TextBox2" runat="server">cd</asp:TextBox> <br /> <asp:TextBox ID="TextBox3" runat="server">ef</asp:TextBox> <br /> <asp:TextBox ID="TextBox4" runat="server">msdn</asp:TextBox> <br /> <br /> <asp:Button ID="Button1" runat="server" Text="limpar" /> </div> </form> </body> </html>
Partial Class _Default Inherits System.Web.UI.Page Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click For Each controle As Control In Me.Form.Controls If TypeOf controle Is TextBox Then Dim txt As TextBox = TryCast(controle, TextBox) txt.Text = String.Empty End If Next End Sub End Class
Paulo César Viana
.NET Developer
MCC - Microsoft Community Contributor
MCP - Microsoft Certified Professional
MCTS - Microsoft Certified Technology Especialist
--
Marque as respostas e contribua para uma melhora no fórum.
- Editado Paulo César Viana quarta-feira, 15 de fevereiro de 2012 21:17
-
quinta-feira, 16 de fevereiro de 2012 11:57
Eu jah tive esse mesmo problema, o que acontece no codigo do Paulo é que se tiver um groubox ou uma outra aba ele não entra nos controles dentro dele
Exemplo de como eu fiz:
No botão limpar voce colocar Limpa_Controls(Me)
e coloque essa função
Public Sub Limpa_Controls(ByVal Tela As Control)
On Error Resume Next
Dim Text As Object
For Each Text In Tela.Controls
If TypeOf Text Is System.Windows.Forms.GroupBox Or TypeOf Text Is System.Windows.Forms.TabPage Then
Limpa_Controls(Text) 'Se forgroup ou aba vai refazer tudo dentro desse grupo
End If
If TypeOf Text Is System.Windows.Forms.TextBox Then
Text.Text = ""
ElseIf TypeOf Text Is System.Windows.Forms.ComboBox Then
Text.SelectedIndex = -1
Text.Text = ""
ElseIf TypeOf Text Is System.Windows.Forms.CheckBox Then
Text.Checked = False
End If
Next
End Sub- Sugerido como Resposta Danilo - HamsteR quinta-feira, 16 de fevereiro de 2012 11:57
-
terça-feira, 21 de fevereiro de 2012 13:45
Oi Danilo,
O código esta executando sem erro, mas não funciona, nao limpa as textbox. Executei em modo debug e pelo que eu entendi em algum momento ele deveria entrar dentro do segundo If, e ele nao entrou, e nem mesmo no primeiro if, onde há a chama recursiva
obrigada
-
terça-feira, 21 de fevereiro de 2012 13:47
Oi Paulo,
O código executa sem erros, mas não limpa as textbox

