Usuário com melhor resposta
Fechar uma form de acordo com a verificação

Pergunta
-
Olá pessoa, desejo fazer o seguinte..
No sistema que desenvolvo tudo depende de ter uma região cadastrada na tabela(de Região) para que as outras telas funcionem.
Ao chamar uma tela vou popular a combo Região. Caso o seu valor seja nulo(String.Empty) eu quero fechar ela(a Tela) e manter na tela principal. Essa tela chamo em um menu(menuStrip) Porém com o Close() não está funcionando pois o código continua..
O código:
public partial class FormGrauDeVulnerabilidade : Form { //Construtor public FormGrauDeVulnerabilidade() { InitializeComponent(); CarregarRegião(); } private void CarregarRegião() { try { _cbRegiao.DataSource = RegiaoBs.ListarRegiao(); _cbRegiao.DisplayMember = "Regiao1"; _cbRegiao.ValueMember = "IdRegiao"; if (_cbRegiao.Text == String.Empty) MessageBox.Show(@"Por gentileza, cadastre uma região.", @"Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error); //O FECHAR VEM AQUI :/ } catch (Exception ex) { MessageBox.Show(@"Erro: " + ex.Message + @"por gentileza, cadastre uma região.", @"Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
- Editado Jonas Marco terça-feira, 22 de dezembro de 2015 14:12
Respostas
-
Bom dia,
Tire o código do construtor e coloque o mesmo no evento Load do Form.
public FormGrauDeVulnerabilidade() { InitializeComponent(); //CarregarRegião(); } private void FormGrauDeVulnerabilidade_Load(object sender, EventArgs e) { CarregarRegiao(); }
Att, Marcos
- Sugerido como Resposta Marcos Gerene terça-feira, 22 de dezembro de 2015 14:44
- Marcado como Resposta Levi DomingosModerator terça-feira, 22 de dezembro de 2015 15:27
Todas as Respostas
-
-
Bom dia,
Tire o código do construtor e coloque o mesmo no evento Load do Form.
public FormGrauDeVulnerabilidade() { InitializeComponent(); //CarregarRegião(); } private void FormGrauDeVulnerabilidade_Load(object sender, EventArgs e) { CarregarRegiao(); }
Att, Marcos
- Sugerido como Resposta Marcos Gerene terça-feira, 22 de dezembro de 2015 14:44
- Marcado como Resposta Levi DomingosModerator terça-feira, 22 de dezembro de 2015 15:27
-
Boa tarde Jimi_br,
Isso vai esconder o Form e não fecha-lo, vários Forms em Hide fazem peso na memória desnecessariamente.
Por menor que seja o impacto é sempre interessante buscar otimizar o código.
[]'s
- Editado Marcos Gerene terça-feira, 22 de dezembro de 2015 14:47
-
Troquei a chamada do CarregarRegiao(); para o Load.. E logo abaixo da Mensagem do if -> eu add o Close().
Funcionou amigo. Muito obrigado.
- Editado Jonas Marco terça-feira, 22 de dezembro de 2015 15:18