none
Fechar uma form de acordo com a verificação RRS feed

  • 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
    terça-feira, 22 de dezembro de 2015 14:09

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

    terça-feira, 22 de dezembro de 2015 14:39

Todas as Respostas

  • troque o //OFECHAR VEM AQUI  

    por

     this.Hide();

    Abraços!


    Jimi Anderson

    terça-feira, 22 de dezembro de 2015 14:37
  • 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

    terça-feira, 22 de dezembro de 2015 14:39
  • 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
    terça-feira, 22 de dezembro de 2015 14:43
  • 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
    terça-feira, 22 de dezembro de 2015 15:18