sfapereira Posted December 11, 2009 at 12:22 AM Report Share #299753 Posted December 11, 2009 at 12:22 AM 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 More sharing options...
legd1991 Posted December 11, 2009 at 06:24 AM Report Share #299763 Posted December 11, 2009 at 06:24 AM 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 Link to comment Share on other sites More sharing options...
kazzx Posted December 11, 2009 at 09:10 AM Report Share #299767 Posted December 11, 2009 at 09:10 AM 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? Link to comment Share on other sites More sharing options...
ribeiro55 Posted December 11, 2009 at 09:46 AM Report Share #299775 Posted December 11, 2009 at 09:46 AM 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 More sharing options...
paulo silva Posted December 11, 2009 at 10:11 AM Report Share #299782 Posted December 11, 2009 at 10:11 AM 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 Link to comment Share on other sites More sharing options...
sfapereira Posted December 11, 2009 at 11:34 AM Author Report Share #299794 Posted December 11, 2009 at 11:34 AM 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 More sharing options...
ribeiro55 Posted December 11, 2009 at 12:19 PM Report Share #299801 Posted December 11, 2009 at 12:19 PM O ShowDialog é isso mesmo. É tão simples como trocares onde tens Form.Show para Form.ShowDialog 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 More sharing options...
kazzx Posted December 11, 2009 at 03:00 PM Report Share #299823 Posted December 11, 2009 at 03:00 PM ok, então é fazeres uma coisa como colocar no evento click do botão que irá abrir esse form. nomedoform.showdialog é isso? vê! Link to comment Share on other sites More sharing options...
sfapereira Posted December 11, 2009 at 04:19 PM Author Report Share #299856 Posted December 11, 2009 at 04:19 PM 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... 😕 Link to comment Share on other sites More sharing options...
paulo silva Posted December 11, 2009 at 05:03 PM Report Share #299868 Posted December 11, 2009 at 05:03 PM 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 Link to comment Share on other sites More sharing options...
kazzx Posted December 11, 2009 at 05:17 PM Report Share #299873 Posted December 11, 2009 at 05:17 PM 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? ? Link to comment Share on other sites More sharing options...
sfapereira Posted December 11, 2009 at 05:31 PM Author Report Share #299878 Posted December 11, 2009 at 05:31 PM 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? ? vou testar e digo-vos logo! Agradecido Abraço e bom fds SP Link to comment Share on other sites More sharing options...
ribeiro55 Posted December 11, 2009 at 06:45 PM Report Share #299914 Posted December 11, 2009 at 06:45 PM Não "tranca" visivelmente. Mas tenta mexer-lhe e vais ver o que acontece. 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 More sharing options...
sfapereira Posted December 12, 2009 at 08:53 PM Author Report Share #300079 Posted December 12, 2009 at 08:53 PM 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 More sharing options...
ribeiro55 Posted December 12, 2009 at 11:45 PM Report Share #300109 Posted December 12, 2009 at 11:45 PM 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 More sharing options...
sfapereira Posted December 13, 2009 at 12:12 AM Author Report Share #300113 Posted December 13, 2009 at 12:12 AM 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 More sharing options...
kazzx Posted December 14, 2009 at 08:50 AM Report Share #300247 Posted December 14, 2009 at 08:50 AM 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. Link to comment Share on other sites More sharing options...
ribeiro55 Posted December 14, 2009 at 02:06 PM Report Share #300309 Posted December 14, 2009 at 02:06 PM 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 More sharing options...
kazzx Posted December 15, 2009 at 01:01 AM Report Share #300436 Posted December 15, 2009 at 01:01 AM ya 🙂 :) quando eu respondi já ele tinha colocado o novo código, ya! 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