Ir para o conteúdo
sfapereira

Formularios

Mensagens Recomendadas

sfapereira    0
sfapereira

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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
legd1991    12
legd1991

Podes..

no Button_click podes por:

textbox1.enabled = False
textbox2.enabled = false

dim form as new form1

form.showdialog()

depois ao fechares o form nalgum botao metes o codigo:

nomedoformanterior.textbox1.enabled=true

nomedoformanterior.textbox2.enabled=true

e assim continuadamente...

espero ter ajudado

cumps

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
kazzx    0
kazzx

tu queres é ter um formulário com vários objectos/campos e um botão.

no click do botão fazer aparecer outro form.

e ao fechares esse segundo form, voltar ao primeiro tal como se tivesses iniciado o programa.

é isso?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
ribeiro55    44
ribeiro55

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.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
paulo silva    0
paulo silva

Também podes optar por fazer me.hide() e em seguida o form que vais abrir, o form que escondeste não perde os valores que contiver.

Cumprimentos Paulo Silva

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
sfapereira    0
sfapereira

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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
sfapereira    0
sfapereira

ok, então é fazeres uma coisa como colocar no evento click do botão que irá abrir esse form.

 nomedoform.showdialog 

é isso? vê!

Certo...mas não me "tranca" o formulário que fica por detrás e quando faço voltar abre-me um novo e sem nada... :confused:

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
paulo silva    0
paulo silva

acho que fazendo assim me.enabled=false no momento em que abres o outro form funciona, depois ao fazeres voltar fazes, me.close e nomedoform.show e nomedoform.enabled=true

nao sei se isto funciona só estou a tentar passar o raciocinio

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
sfapereira    0
sfapereira

não tranca e o form principal aparece sem nada se colocares o

 .showdialog 

no evento click do botão que abre o segundo form?  :hmm:

vou testar e digo-vos logo!

Agradecido

Abraço e bom fds

SP

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
sfapereira    0
sfapereira

Boas Ribeiro55,

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

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:

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
ribeiro55    44
ribeiro55

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.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
sfapereira    0
sfapereira

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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
kazzx    0
kazzx

só um comentário se me permites, em vez de usares esse 'Hide' e 'Close' e todo esse código, experimenta apagar isso tudo e colocar apenas no botão que abre o segundo formulário o tal

 .showdialog 

e nada mais, não coloques mais nada em lado nenhum.

depois diz alguma coisa.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
ribeiro55    44
ribeiro55

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ê :) :)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade