COMO DIMINUIR ESTE CODIGO
Duas dúvidas:
1- Como diminuir este código ? (Ele gasta muitas linhas)
2- Diminuir o tamanho do código ajuda a otimizar o programa ?
1- Como diminuir este código ? (Ele gasta muitas linhas)
TXTCONTAOBS.Text = [Ô][Ô]
TXTCONTACOD.Text = [Ô][Ô]
TXTCONTATEL1.Text = [Ô][Ô]
TXTCONTATEL2.Text = [Ô][Ô]
TXTCONTATEL3.Text = [Ô][Ô]
TXTCONTATEL4.Text = [Ô][Ô]
2- Diminuir o tamanho do código ajuda a otimizar o programa ?
Você pode usar o seguinte:
1ª Forma
Public Sub LimpaForm(ByVal F As Form)
Dim i As Integer
For i = 1 To F.Controls.Count - 1
If TypeOf F.Controls(i) Is TextBox Then
F.Controls(i).Text = [Ô][Ô]
End If
Next
End Sub
2ª Forma
Public Sub LimpaForm(ByVal F As Form)
Dim Ctl As Integer
For Each Ctl In F.Controls
If TypeOf F.Controls(Ctl) Is TextBox Then
F.Controls(Ctl).Text = [Ô][Ô]
End If
Next
End Sub
1ª Forma
Public Sub LimpaForm(ByVal F As Form)
Dim i As Integer
For i = 1 To F.Controls.Count - 1
If TypeOf F.Controls(i) Is TextBox Then
F.Controls(i).Text = [Ô][Ô]
End If
Next
End Sub
2ª Forma
Public Sub LimpaForm(ByVal F As Form)
Dim Ctl As Integer
For Each Ctl In F.Controls
If TypeOf F.Controls(Ctl) Is TextBox Then
F.Controls(Ctl).Text = [Ô][Ô]
End If
Next
End Sub
JABA,
Meu código contém outras textbox que eu não quero apagar o texto. O código tem que ser especÃfico para estas 5 textbox (na verdade são 18 textbox )
Já vi em algum lugar um código que juntava todas as textbox em um único grupo e depois atribuÃa = [Ô][Ô] a todas de uma vez, gastava 3 ou 4 linhas
Meu código contém outras textbox que eu não quero apagar o texto. O código tem que ser especÃfico para estas 5 textbox (na verdade são 18 textbox )
Já vi em algum lugar um código que juntava todas as textbox em um único grupo e depois atribuÃa = [Ô][Ô] a todas de uma vez, gastava 3 ou 4 linhas
sei la mas se elas tiverem o mesmo tipo de nomenclatura vc pode usar o codigo do JABA e implementar
If TypeOf F.Controls(i) Is TextBox Then
if instr(f.controls(i).name,[Ô]CONTA[Ô])<>0 then
F.Controls(i).Text = [Ô][Ô]
endif
End If
acho isso poderia dar certo, so nao sei se coloquei a sintaxe certa do instr
If TypeOf F.Controls(i) Is TextBox Then
if instr(f.controls(i).name,[Ô]CONTA[Ô])<>0 then
F.Controls(i).Text = [Ô][Ô]
endif
End If
acho isso poderia dar certo, so nao sei se coloquei a sintaxe certa do instr
Coloque a propriedades TAG dos textbox que deseja limpar para 1
Para chamar é :
Limpar(me)
Public Sub Limpar(ByVal controlP As Control)
Dim ctl As Control
For Each ctl In controlP.Controls
If TypeOf ctl Is TextBox Then
If CType(ctl, TextBox).Tag = [Ô]1[Ô] Then
DirectCast(ctl, TextBox).Text = String.Empty
End If
ElseIf ctl.Controls.Count > 0 Then
Limpar(ctl)
End If
Next
End Sub
Para chamar é :
Limpar(me)
Colaca os textbox separadamente dentro de um groupbox, no caso utilize 2 groupbox, 1 para os campos que quer limpar e outro para os que não quer.
depois :
Dim ctl As Control
For Each ctl In controlP.Groupbox.Controls
Mias ou menos isso ai, ou seja referencie o groupbox e seus controls.
depois :
Dim ctl As Control
For Each ctl In controlP.Groupbox.Controls
Mias ou menos isso ai, ou seja referencie o groupbox e seus controls.
@NILSONTRES
é exatamente isso que estou procurando, vc tem algum exemplo (ou pode criar um no meu código) ?
é exatamente isso que estou procurando, vc tem algum exemplo (ou pode criar um no meu código) ?
Dim MY_CONTROLS As Control
For Each MY_CONTROLS In Me.Suagroupbox.Controls
If TypeOf MY_CONTROLS Is TextBox Then
MY_CONTROLS.Text = [Ô][Ô]
End If
Next
For Each MY_CONTROLS In Me.Suagroupbox.Controls
If TypeOf MY_CONTROLS Is TextBox Then
MY_CONTROLS.Text = [Ô][Ô]
End If
Next
Faça seu login para responder