Jump to content

Formularios


sfapereira
 Share

Recommended Posts

Boas Pessoal!

Gostaria de saber se me podiam ajudar:

Tenho um Form com uma serie de campos que vai buscar informação à BD,onde existe um botão,que depois de clicado, surge outro Form servindo de calculo de alguns dos dados do form anterior.

isto se calhar não esta muito claro..mas a ideia seria bloquear todos os campos  do 1º form e surgir um segundo Form (editavel) . Quando quisesse voltar a tras (com o btn por exemplo) o primeiro Form iria surgir como se nada fosse fechando-se o segundo..

Acham isto perceptivel/possivel?? Sou um cado leigo no campo da programação...

Abraço a todos e obrigado

SP

Link to comment
Share on other sites

Se percebi bem, o ShowDialog resolve-te o problema, pois abre o form Modal, ou seja, a execução de código no form de chamada fica estanque e só retoma quando o form modal for fechado.

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Link to comment
Share on other sites

Desde já o meu obrigado às vossas respostas/sugestões..

A ideia seria continuar com o form inicial com todos os campos/botoes não editaveis (ficava em background, mas visivel) e o outro surgiria como um popup no qual poderia mexer. Assim que sai deste o que estava por detrás ficaria de novo com os valores e editável..

A questão do me.hide() é o que tenho e ele faz a troca de forms que quando volto atras perco toda a informação (isso já é outra guerra..). Mas a ideia original seria mesmo a que expliquei acima.

A função showdialog posso testar, primeiro tenho de ver como posso implementar isso no meu projecto..posso aplicar o modelo apresentado pelo legd1991

Muito obrigado a todos e volto a dar novas assim que surgir oportunidade e razões para tal!

Abraço

SP

Link to comment
Share on other sites

Boas Ribeiro55,

realmente não consigo mexer-lhe, está porreiro, mas quando faço voltar fecha-me todos os forms..  ?

eu vou deixar-vos o codigo dos dois forms

Form Principal:

        If objfrmRecibo Is Nothing Then
            objfrmRecibo = New frmRecibo
            objfrmRecibo.Owner = Me
        End If
        objfrmRecibo.ShowDialog()
        Me.Hide()

Form Secundario:

       If objFuncionario Is Nothing Then
            objFuncionario = New frmFuncionario
            objFuncionario.Owner = Me
        End If
        objFuncionario.Show()
        Me.Close()

Possivelmente alguma barbaridade...  :bored:

Link to comment
Share on other sites

Ou é da hora, ou não estou a perceber bem o que queres fazer...

O form principal chama o secundário com um simples ShowDialog. O form secundário só tem de ser fechado para que o principal volte a ficar acessível.

Não há truques com Hides, Closes ou lá o que seja.

Se queres que o form principal desapareça simplesmente, mostrando o segundo, e que fechando o segundo re-apareça o principal, joga com visibilidades apenas (Visible=True / False) e usa Show.

Só tens de ter cuidado em dar um FormPrincipal.Visible=True no evento FormClosing do secundário.

Se estás a criar instâncias novas, é tudo reinicializado.

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Link to comment
Share on other sites

Brutal Sergio Ribeiro!

Esta resolvido, realmente não fazia sentido o que estava a fazer! Deixo aqui o codido alterado de ambos os forms!

Form Principal:

        If objfrmRecibo Is Nothing Then
            objfrmRecibo = New frmRecibo
            objfrmRecibo.Owner = Me
        End If
        objfrmRecibo.ShowDialog()

Form Secundario:

        Me.Close() 

Obrigado mais uma vez a todos pela ajuda!!

Grande abraço e bom resto de fds

SP

Link to comment
Share on other sites

O form principal chama o secundário com um simples ShowDialog. O form secundário só tem de ser fechado para que o principal volte a ficar acessível.

Não há truques com Hides, Closes ou lá o que seja.

Esta resolvido, realmente não fazia sentido o que estava a fazer! Deixo aqui o codido alterado de ambos os forms!

Form Principal:

        If objfrmRecibo Is Nothing Then
            objfrmRecibo = New frmRecibo
            objfrmRecibo.Owner = Me
        End If
        objfrmRecibo.ShowDialog()

Form Secundario:

        Me.Close() 

Só um comentário, se me permites: lê 🙂 :)

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

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.