Jump to content

[RESOLVIDO] Definições entre Forms


almamater
 Share

Recommended Posts

Olá.

Tenho 2 Forms e qdo estou no 1º para chamar o 2 faço isto:

 Dim FrmSearch As New FrmPesquisa
        FrmSearch.Show()
       Me.WindowState = FormWindowState.Minimized

Até aqui tudo bem.. o problema é quando fecho o Form2 e quero alterar o Windowstate do Form1 para normal e não dá..:

 Dim FrmForm1 As New Frm1
        FrmForm1 .WindowState = FormWindowState.Normal
        Me.Close()

se fizer  FrmForm1.show ele abre mais um formulário igual e fico com 2 abertos...

Tenho forma de fazer isto? é pq o Form1 tem dados já escritos pelo utilizador e queria manter/mostrar os mesmos qdo se fecha o Form2.

Será que tenho de recorrer a um Timer e aos processos do windows para ver qdo se fecha a janela do form2?

Obrigado

Link to comment
Share on other sites

Porque não abres a nova janela como Dialog ?

Dim FrmSearch As New FrmPesquisa
FrmSearch.ShowDialog()

Não pode ser dessa maneira pq assim estou a criar um novo Form (Dim FrmSearch As New FrmPesquisa) eu de alguma forma tenho de ir buscar as propriedades do form que já está criado e minimizado.. apenas para alterar o seu WindowsState

Link to comment
Share on other sites

Não pode ser dessa maneira pq assim estou a criar um novo Form (Dim FrmSearch As New FrmPesquisa) eu de alguma forma tenho de ir buscar as propriedades do form que já está criado e minimizado.. apenas para alterar o seu WindowsState

Desculpa não consigo abrir o ficheiro onde estou ... podes enviar-me por email ? (vê o email no meu blog)

Link to comment
Share on other sites

Ok, o problema é que tu estás a criar uma nova instância do Form1, e não a alterar as propriedades (neste caso WindowState ), do que já está aberto.

Crias o novo Form:

        Dim Form2 As New Form2
        Me.WindowState = FormWindowState.Minimized
        Form2.Show()

Depois podes utiliza o My Namespace, no Form2, para alterar a propriedade WindowState para normal :

        Dim form1 As Form1 = My.Forms.Form1
        form1.WindowState = FormWindowState.Normal
        Me.Close()

Vê lá se funciona agora 😉

Link to comment
Share on other sites

Ok, o problema é que tu estás a criar uma nova instância do Form1, e não a alterar as propriedades (neste caso WindowState ), do que já está aberto.

Crias o novo Form:

        Dim Form2 As New Form2
        Me.WindowState = FormWindowState.Minimized
        Form2.Show()

Depois podes utiliza o My Namespace, no Form2, para alterar a propriedade WindowState para normal :

        Dim form1 As Form1 = My.Forms.Form1
        form1.WindowState = FormWindowState.Normal
        Me.Close()

Vê lá se funciona agora 😉

😛 Por acaso ainda não.. estou a usar o VB2008 enão me aceita o My.Forms..

Descobri esta página: http://www.devcity.net/Articles/94/1/.aspx e no tópico  "Method 7: Flip-Flop Form1 and Form2" acho que devia de resolver o meu problema mas tb n deu..

Link to comment
Share on other sites

Quando fazes para abrir o segundo form fazes:

        Dim Form2 As New Form2

        Me.hide()

        Form2.Show()

Quando sais do form2, fazes:

        Dim form1 As Form1 = My.Forms.Form1

        form1.show()

        Me.Close()

Será que ajuda ? :s

Nops:

http://img138.imageshack.us/img138/2863/err.th.png
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
 Share

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