Jump to content
Sign in to follow this  
tig17

[C#] Como focar um form aberto?

Recommended Posts

tig17

Boas Pessoal,

Estou aqui com uma duvida que consiste no seguinte:

Eu tenho um form principal que tem um botão no meu onde clico e abre um novo form e para que sempre que clicasse no botão do menu não abrisse "mil" forms iguais fiz um código para que se o form estiver aberto ele não abrir outro. Até ai tudo bem.

Agora o meu problema é que quando o form está aberto e eu clico eu gostava que ele focasse/activasse o form.

Alguém sabe como fazê-lo?

Share this post


Link to post
Share on other sites
tig17

Já tentei isso e não fez nada. Mas não utilizei

a parte

form1 oi = new form1();

pois já tenho isto mais em cima... Mas vou experimentar duplicar.

Nem me deixa duplicar

Tenho isto no código:

        private void editorToolStripMenuItem_Click(object sender, EventArgs e)
        {
            EditorConsulta novoform = new EditorConsulta();
            if (variaveis.descobre == "Fechado")
            {

                novoform.Show();
                variaveis.descobre = "Aberto";
            }
            else
               novoform.focus();
        }

Mas não funciona. Quando eu clico e a variavel é = "Aberto" ele não me mete logo a trabalhar no novoform :/

Share this post


Link to post
Share on other sites
Caça

Se já estás a verificar se ele está aberto, só tens de acrescentar esta linha de código

From.Select();


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
tig17

Também não resulta Caça :/

Eu quando clico no botão com a a janela já aberta ele não me abre uma nova (porque eu não quero claro), mas gostava que ele me deixasse com o form já aberto activo (ou seja com a barra de titulo a azul :) ), mas nada ;)

Share this post


Link to post
Share on other sites
Caça

E assim

novoform.Activate();


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
tig17

E assim

novoform.Activate();

Nem assim lol

Já experimentei:

novoform.Activate();

novoform.Focus();

novoform.Select();

EditorConsulta.ActiveForm.Activate();

Nenhuma delas deu... Estou a achar muito estranho :/

Se o form está aberto quando eu faço o focus ou mesmo o select ele devia levar-me para esse form, mas não está a levar :/

Share this post


Link to post
Share on other sites
tig17

Ele não deve estar a associar que o form2 se encontra aberto.

Tentei ao clicar num botão do form1 que ele fechasse o form2 e não resulta :/

Por isso é que ele não permite o focus(), nem o activate(); :S

EditorConsulta novoform = new EditorConsulta();
            if (variaveis.descobre == "Fechado")
            {
                novoform.Show();
                variaveis.descobre = "Aberto"; //para saber que o form se encontra aberto
            }
            else
                novoform.Close();   //<-- Não funciona :/

Share this post


Link to post
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
Sign in to follow this  

×
×
  • 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.