almamater Posted December 1, 2009 at 11:48 AM Report Share #298192 Posted December 1, 2009 at 11:48 AM 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 More sharing options...
jpaulino Posted December 1, 2009 at 11:59 AM Report Share #298193 Posted December 1, 2009 at 11:59 AM Porque não abres a nova janela como Dialog ? Dim FrmSearch As New FrmPesquisa FrmSearch.ShowDialog() Link to comment Share on other sites More sharing options...
almamater Posted December 1, 2009 at 06:33 PM Author Report Share #298266 Posted December 1, 2009 at 06:33 PM Porque não abres a nova janela como Dialog ? Dim FrmSearch As New FrmPesquisa FrmSearch.ShowDialog() Sim tb já fiz isso mas ele limpa as combobox e restantes qdo faço isso... e o meu objectivo é recuperar o Form1 mantendo tudo como estava! Link to comment Share on other sites More sharing options...
jpaulino Posted December 1, 2009 at 07:43 PM Report Share #298285 Posted December 1, 2009 at 07:43 PM Limpa ?!? Tens de explicar isso melhor e mostrares como tentaste. Link to comment Share on other sites More sharing options...
almamater Posted December 1, 2009 at 11:15 PM Author Report Share #298333 Posted December 1, 2009 at 11:15 PM Humm ok.. se puderes vê isto então: Ficheiro Secalhar estou a fazer algo de errado... mas selecciona uma opção na combobox e escreve algo no textbox e carrega no botão.. depois qdo volta a abrir dessa forma que dizes (showdialog) os campos estão todos limpos.. Thanks Link to comment Share on other sites More sharing options...
almamater Posted December 6, 2009 at 11:00 AM Author Report Share #298893 Posted December 6, 2009 at 11:00 AM 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 More sharing options...
jpaulino Posted December 7, 2009 at 04:04 PM Report Share #299072 Posted December 7, 2009 at 04:04 PM 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 More sharing options...
jpaulino Posted December 8, 2009 at 09:46 AM Report Share #299216 Posted December 8, 2009 at 09:46 AM 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 More sharing options...
almamater Posted December 8, 2009 at 10:27 AM Author Report Share #299217 Posted December 8, 2009 at 10:27 AM 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 More sharing options...
vasco16 Posted December 8, 2009 at 10:59 AM Report Share #299221 Posted December 8, 2009 at 10:59 AM 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 Link to comment Share on other sites More sharing options...
almamater Posted December 8, 2009 at 11:37 AM Author Report Share #299225 Posted December 8, 2009 at 11:37 AM 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 More sharing options...
vasco16 Posted December 8, 2009 at 05:20 PM Report Share #299292 Posted December 8, 2009 at 05:20 PM Nops: http://img138.imageshack.us/img138/2863/err.th.png Tira essa linha de código, só tens o form 1 escondido, nao o precisas de declarar.. Link to comment Share on other sites More sharing options...
jpaulino Posted December 8, 2009 at 05:49 PM Report Share #299304 Posted December 8, 2009 at 05:49 PM Mostra lá o código todo. Eu alterei o exemplo que mostraste e está a funcionar. Link to comment Share on other sites More sharing options...
almamater Posted December 8, 2009 at 06:41 PM Author Report Share #299321 Posted December 8, 2009 at 06:41 PM Ok obrigado pelas dicas... ainda estou com o erro "Forms is not a member of 'My' no projecto onde quero implementar isso... na realidade no exemplo que meti aqui funciona 5*.. vou tentar decifrar esta! Num funciona noutro nao ? Link to comment Share on other sites More sharing options...
almamater Posted December 8, 2009 at 10:53 PM Author Report Share #299395 Posted December 8, 2009 at 10:53 PM Resolvido 😉 Obrigado! A questão estava associada ao Startup do projecto.. tinha escolhido para inciar num módulo e estava como "Windows Service" e não "Windows Forms Application" :nono1: Link to comment Share on other sites More sharing options...
Ivo Pereira Posted December 9, 2009 at 12:07 AM Report Share #299412 Posted December 9, 2009 at 12:07 AM Põe o tópico como resolvido, acrescenta no início do título do mesmo 😄 Link to comment Share on other sites More sharing options...
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