Jump to content

Mostrar uma janela ao abrir.


dpeneireiro

Recommended Posts

Olá a todos,

estou aqui com um problemita e gostava que alguém me ajudasse se fosse possivel.

A questão é a seguinte, tenho um programa onde tenho uma janela geral, ao carregar num botão dessa janela faz um showdialog de uma nova janela que permite pesquisar umas coisas, e ao carregar no botão pesquisar dessa nova janela, abre uma terceira janela com outro showdialog para mostrar o resultado dessa pesquisa, portanto 3 janelas encadeadas.

Acontece que, a segunda janela deve ser encerrada quando passo para a terceira e então tenho o seguinte código:

btnPesquisa_Segunda janela

......

this.visible=false;

//this.close()   --  também já tentei assim.

frmTerceiraJanela.Sowdialog();

this.close;

......

Como a instrução para chamar a nova janela é um showdialog, o this.close não funciona logo (também já tentei fechar a 2ª  janela antes de abrir a 3ª mas o resultado é o mesmo) e por isso é que a torno invisivel. mas ao fazer isto, a 3ªjanela abre por trás de tudo o resto... e apenas se vê se minimizar as outras janelas ou maximizar a 3ª janela na barra de tarefas o que é desagradável. Não posso abrir a terceira janela com um show normal porque não quero que a primeira janela fique disponivel.

Com a 3ª janela como top most funciona bem mas depois fica sempre a estorvar mesmo que não se queira visualizá-la.

Também já experimenteicolocar no load da 3ªjanela um

this.BringToFront();

this.Select();

mas nada disto funciona.... Alguma idéia???

Obrigado.

Link to comment
Share on other sites

Hum.. Parece que os uploads não estão a funcionar bem...

Então é assim:

Temos 3 forms: Form1, FrmModal1, FrmModal2

na FrmModal1 cria uma propriedade boolean "RequiresSecondForm"

Codigo na Form1:

FrmModal1 frmModal1=new FrmModal1();

            frmModal1.ShowDialog();

if(frmModal1.RequiresSecondForm){

              FrmModal2 frmModal2=new FrmModal2();

                frmModal2.ShowDialog();

}

Na FrmModal1 no handler do botao que deve mostrar a segunda form modal:

this.RequiresSecondForm=true;

this.Close();

Link to comment
Share on other sites

Ora ai está, ficou bastante melhor. Apesar de por vezes ainda falhar.

Ainda estou a investigar mas parece-me que o problema agora é outro. É uma thread lançada de vez em quando pelo programa, e que se for encerrada pouco antes da terceira janela ser chamada ganha o focus e lança a terceira thread para trás....

Obrigado.

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.