Kinhas 0 Denunciar post Postado Agosto 8, 2011 Bom dia pessoal, não estou conseguindo realizar uma operação aqui e gostaria da ajdua de vocês. Eu tenho um form principal que chama diversos outros forms, Você clica na label no meu form e ele abre respectivo form e da um label.enabled = false. Isso é que tem até o momento, O que eu quero é que após fechar o Form que abriu o label volte com enabled = true O código que eu tenho é esse por enquanto. No Form princiál eu tenho esse label click: private void label43_Click(object sender, EventArgs e) { Form frm = new Form_GM(lbl_GM); frm.Show(); } Ai no Form_GM eu tenho esse código: public partial class Form_GM : Form { Label lbl_gm; public Form_GM(Label lbl) { InitializeComponent(); lbl_gm = lbl; } private void Form_GM_FormClosing(object sender, FormClosingEventArgs e) { DialogResult res = MessageBox.Show( "Deseja mesmo fechar o programa?", "Fechar", MessageBoxButtons.YesNo); if (res == DialogResult.No) { e.Cancel = true; lbl_gm.Enabled = true; } } } Gostaria de saber porque quando eu fecho o Form_GM o label não volta pra true. Não é por causa do nome porque eu tenho uma labels_43 e uma lbl_GM. Aguardo ajuda hahahah =D Obrigado, Lucas. Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Agosto 9, 2011 Acredito que o form principal de tras não sabe o momento em que o form filho é fechado. Faça o mesmo teste, ao invés de usar o frm.Show(); utilize o frm.ShowDialog(); Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Kinhas 0 Denunciar post Postado Agosto 9, 2011 Então quintelab o problema é que dai não posso abrir outro form se eu usar o show dialog. OLha a imagem do programa: Os Labels ali circulados de vermelho são os forms. Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Agosto 10, 2011 Crie um método no seu form pai que recebe no parametro o valor da label. Antes do close do form filho chame este método do form pai. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Kinhas 0 Denunciar post Postado Agosto 10, 2011 Quintelab eu entendi a idéia, mas eu não sei como fazer isso ai, Eu tenho que criar um método no meu Main form, e quando estiver no form secundário antes de fechar mandar tipo uma respoosta pro Main form e dependendo da resposta libera ou não o label? Eu coloquei esse código no Main form public void fechaGM(Label lbl) { lbl.Enabled = true; } Não estou entendendo muito bem, acho que to meio enferrujado UHASHUSHUAHU Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Agosto 11, 2011 Não sei se vai funcionar, to fazendo de cabeção mas tenta. No seu Main: public static void fechaGM(bool lbl) { lbl.Enabled = true; } No seu formulário filho: NomeSeuMain.fechaGM(SuaVariavel); this.Close(); Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Kinhas 0 Denunciar post Postado Agosto 12, 2011 Então quintelab, na minha variável eu mandei o lbl_GM.enabled, porém acontece um erro no form principal mesmo no "Enabled" Error: 'bool' does not contain a definition for 'Enabled' and no extension method 'Enabled' accepting a first argument of type 'bool' could be found (are you missing a using directive or an assembly reference?) public static void fechaGM(bool lbl) { lbl.Enabled = true; } tentei fazer um if mas também sem sucesso, alguma sugestão ainda? xD Abraço, Obrigado pela ajuda até agora. Lucas. Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Agosto 12, 2011 Opa foi erro meu, declarei o parametro como bool e não é bool e sim Label. public static void fechaGM(Label lbl) { lbl.Enabled = true; } Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Kinhas 0 Denunciar post Postado Agosto 12, 2011 Valeu Quintelab, Troquei de this.Close() para this.Hide porque estava dando um erro de StackOverflow e blablabla. Mas valeus mesmo a ajuda, agora tenho que implantar pros outros forms da mesma maneira. Abraços.. Compartilhar este post Link para o post Compartilhar em outros sites