fddsantos Posted April 5, 2012 at 12:39 PM Report #447722 Posted April 5, 2012 at 12:39 PM Boa tarde pessoal, Estou com um problema no formClosing, porque tenho ao carregar no close do form ele aparece me um if do formClosing a perguntar se quer fechar ou não, e mesmo que meta não ele fecha me o form, e queria contornar esse problema espero a vossa ajuda. Obrigado pela atenção, Fábio Santos Lei de Lavoisier aplicada à Informática:Na Informática nada se compra, nada se cria! Tudo se copia!
Caça Posted April 5, 2012 at 12:45 PM Report #447723 Posted April 5, 2012 at 12:45 PM Mostra o código. Pedro Martins Não respondo a duvidas por PM
fddsantos Posted April 5, 2012 at 12:46 PM Author Report #447724 Posted April 5, 2012 at 12:46 PM private void FormGesMoedas1_FormClosing(object sender, FormClosingEventArgs e) { if (indicacaoAux == 0) { if (btnGravarNovo.Visible == true) { if (MessageBox.Show("Tem a certeza que pretende sair?", "Atenção!", MessageBoxButtons.YesNo) == DialogResult.Yes) { btnGravarNovo.Visible = false; this.Close(); } } } if (indicacaoAux == 1) { if (btneditarGravar.Visible == true) { if (MessageBox.Show("Tem a certeza que pretende sair da alteração do registo?", "Atenção!", MessageBoxButtons.YesNo) == DialogResult.Yes) { ClassVarMoeda editarCancelAux = new ClassVarMoeda(); editarCancelAux.Idmoeda = idEditAux; editarCancelAux.Nomefacial = nomeFacialAuxEdit; editarCancelAux.Ano = anoAuxEdit; editarCancelAux.Colecao = idColeccaoAuxEdit; editarCancelAux.Estado = idEstadoAuxEdit; gesaplicacao.Gesmoeda.edit_moedaAux(editarCancelAux, editarCancelAux.Idmoeda); btneditarGravar.Visible = false; this.Close(); } } } } Lei de Lavoisier aplicada à Informática:Na Informática nada se compra, nada se cria! Tudo se copia!
Caça Posted April 5, 2012 at 01:03 PM Report #447727 Posted April 5, 2012 at 01:03 PM Não estás a evitar que o form feche, para evitar colocar isto e.Cancel = true; Pedro Martins Não respondo a duvidas por PM
jdaferreira Posted April 5, 2012 at 01:07 PM Report #447729 Posted April 5, 2012 at 01:07 PM private void FormGesMoedas1_FormClosing(object sender, FormClosingEventArgs e) { if (indicacaoAux == 0) { if (btnGravarNovo.Visible == true) { if (MessageBox.Show("Tem a certeza que pretende sair?", "Atenção!", MessageBoxButtons.YesNo) == DialogResult.Yes) { btnGravarNovo.Visible = false; this.Close(); } } } if (indicacaoAux == 1) { if (btneditarGravar.Visible == true) { if (MessageBox.Show("Tem a certeza que pretende sair da alteração do registo?", "Atenção!", MessageBoxButtons.YesNo) == DialogResult.Yes) { ClassVarMoeda editarCancelAux = new ClassVarMoeda(); editarCancelAux.Idmoeda = idEditAux; editarCancelAux.Nomefacial = nomeFacialAuxEdit; editarCancelAux.Ano = anoAuxEdit; editarCancelAux.Colecao = idColeccaoAuxEdit; editarCancelAux.Estado = idEstadoAuxEdit; gesaplicacao.Gesmoeda.edit_moedaAux(editarCancelAux, editarCancelAux.Idmoeda); btneditarGravar.Visible = false; this.Close(); } } } } Boas, Faz assim : DialogResult resultado = MessageBox.Show("Tem a certeza que pretende sair?", "Atenção!", MessageBoxButtons.YesNo); If(resultado == DialogResult.Yes) { btnGravarNovo.Visible = false; this.Close(); } Else if(resultado == DialogResult.No) { e.Cancel = true; } Outra coisa não olhei muito para o Código mas tu tens If(indicacaoAux == 0) e depois tens if(indicacaoAux == 1) já que o valor do indicacaoAux não vai mudar caso entre no primeiro if no segundo deves colocar Else If ( indicacaoAux == 1 ) Abraço
ribeiro55 Posted April 5, 2012 at 01:13 PM Report #447731 Posted April 5, 2012 at 01:13 PM this.Close não faz sentido. Se esse evento for disparado, é porque já está a fechar. Se não impedires o fecho com e.Cancel = True, ele fecha normalmente. Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips"
fddsantos Posted April 5, 2012 at 01:13 PM Author Report #447732 Posted April 5, 2012 at 01:13 PM e.cancel = true Resulta Lei de Lavoisier aplicada à Informática:Na Informática nada se compra, nada se cria! Tudo se copia!
fddsantos Posted April 5, 2012 at 01:17 PM Author Report #447734 Posted April 5, 2012 at 01:17 PM isto ainda é só codigo experimental e eu estou a tentar ver a melhor forma de fazer o form Lei de Lavoisier aplicada à Informática:Na Informática nada se compra, nada se cria! Tudo se copia!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now