LIMPAR TEXTBOX DENTRO DE TABCONTROL

KERPLUNK 06/04/2017 23:32:14
#473131
Leia o que postei logo abaixo do primeiro post
JORGESALES 06/04/2017 23:45:51
#473132
Kerplunk.
Como pode ver na imagem ele deu um erro, até exibiu o nome de uma texbox porém
ela nem estava vazia, engraçado que o professor Mário Andrade fez uma função que
faz a mesma coisa no VB6 e no C# é tão complicado
Não queria ter que conferir as texbox's uma a uma, acho isso muito
pouco didático para uma linguagem tão poderosa como o C#



JABA 06/04/2017 23:57:50
#473135
Assim eu acho que fica mais simples:

public void Limpar(Control ctrl)
{
foreach (Control c in ctrl.Controls)
{
if (c is TextBox)
c.Text = [Ô][Ô];

if (c.HasChildren)
Limpar(c);
}
}


Para usar é só especificar qual a aba:

Limpar(TabControl1.TabPages(1))

KERPLUNK 07/04/2017 00:19:35
#473136
JORGESALES, fiz a correção já, logo abaixo do post onde você pegou esse código.
MARIOANDRADE 07/04/2017 09:38:38
#473141
Citação:

:..faz a mesma coisa no VB6 e no C# é tão complicado...


Na verdade não é que seja complicado, apenas é diferente, depois que se
aprende qualquer linguagem se torna fácil.
Citação:

Não queria ter que conferir as texbox's uma a uma...


é isso aí, nos dias de hoje o programador deve procurar ao máximo evitar
esse tipo de prática, principalmente se for para um formulário com muitas textbox's.
JORGESALES 07/04/2017 21:52:04
#473160
Citação:

:
Leia o que postei logo abaixo do primeiro post


Kerplunk,
obrigado pela atenção, este é exatamente o código que você passou,
tentei várias vezes mas sem sucesso, gostaria de saber de vocês,
como fazem para verificar se campos obrigatórios foram preenchidos?
Usam a maneira tradicional? Conferindo cada textbox?
No VB6 o professor Mário Andrade mostra em um de seus cursos uma
forma bem simples de fazer isso, achei que no C# as pessoas usassem
algo ainda melhor...
MARIOANDRADE 07/04/2017 22:08:03
#473161
Jorge Sales,
Desenvolvi uma função baseada no seu código, não é
como em VB6 porque terá que informar todos os campos
obrigatórios mas pode ajudar:
        public static bool verVazio(Control seuControle)
{
//www.cursoexcelvba.com.br
//professor: Mário Andrade
//contato@cursoexcelvba.com.br

int erro = 0;
ErrorProvider Erro = new ErrorProvider();
if (seuControle.Text == [Ô][Ô])
{
erro++;
MessageBox.Show([Ô]ATENÇÃO:
[Ô] + [Ô]Campos obrigatórios não foram preenchidos![Ô],
Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Warning);
Erro.SetError(seuControle, [Ô]Campo obrigatório![Ô]);
}
return erro != 0;
}

Para chamar a função use:
if (cFuncoes.verVazio(txtLocal)) return;
// cFuncoes é o nome da classe e txtLocal o nome do controle
// que deseja ver se está preenchido

Espero ter ajudado.
JORGESALES 07/04/2017 22:16:32
#473162
Professor Mário Andrade,
esse código é simples porém fantástico, realmente terei que informar
cada controle mas é bem melhor que setar um errorProvider para cada
um deles, obrigado e parabéns pelo código, adorei.
Página 2 de 2 [18 registro(s)]
Tópico encerrado , respostas não são mais permitidas