Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Exception para TextBox vazios no Windows Form

Boa tarde, pessoal. Tudo bom?!

Procurei na internet e encontrei diversas soluções que usa If e Else para comparar, só que se tiver muitos campos e nenhum deles precisar puder ficar vazio, o código ficará grande.

Existe alguma exception ou alguma forma elegante para tratar TextBox que não foram preenchidos no Windows Form no C#, ou alguma coisa para que eu possa fazer essa comparação de campos vazios de forma escondida, em uma classe separada, por exemplo?

Valeu galera!

5 respostas
solução

Uma opção seria percorrer os componentes da tela e verificar se são do tipo TextBox verificando se estão vazios, só precisaria arrumar uma forma melhor para exibir uma mensagem mais amigável ao usuário:

 foreach (Control item in this.Controls)
   {
                if (item is TextBox && String.IsNullOrWhiteSpace(item.Text))
                {
                    MessageBox.Show(item.Name + " é de preenchimento obrigatório!");
                }
    }

Bem pequena sua sugestão, gostei :D.

Eu criei duas Exceptions, uma para verificar se o campo é vazio e outra para verificar se o que foi digitado está entre 0 e 10.

Por curiosidade, o que o ".Trim()" faz?

O .Trim() remove todos os caracteres de espaço em branco à esquerda e à direita do objeto String atual. Assim se o usuário digitasse somente espaços não seria considerado como preenchido. Se não usar o .Trim() espaços são considerados como digitos (não enxergamos, mas o sistema considera que tem algo digitado)

https://msdn.microsoft.com/pt-br/library/t97s7bs3(v=vs.110).aspx

Putz, verdade. Usei o Trim no Python já.

Testei aqui o seu e ficou bem melhor que o meu, obrigado!

Que bom que gostou :) de nada... Abraço