1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

vb.net bug ou inocencia minha?

Discussão em 'Programação' iniciada por bfpaiva, 15 de Maio de 2004. (Respostas: 8; Visualizações: 1700)

  1. bfpaiva

    bfpaiva Power Member

    cada vez que pego em vb.net fico mais fo.... , por acaso alguem conhece maneiras de feechar uma form sem ser com o comando .close() e que se faço isto ou desaparecem todas as forms ou começa a dar erros por todo lado
    necessito de ajuda ou de uns exemplos.

    alguem me ajuda ????
     
  2. peter alien

    peter alien Power Member

    Nos últimos progs que fiz em VB.NET utilizei sempre o Close(), se quiseres só esconder uma Form podes utilizar o Hide().

    Nunca tive problemas como o Close(), e tendo em conta que não postaste nenhum código não te sei dizer porque estás a ter, mas posso te dar uma dica, cuidado quando a aplicação está a correr várias Forms ao mesmo tempo porque por exemplo se fechares a Form principal da aplicação, ou te dá erro ou então a aplicação fecha completamente (aparentemente fecha) mas ficam a correr threads (correspondentes ás outras Forms), podes verificar essa situação no "Windows Task Manager" no separador "Processes".

    Daqui podes concluir, que se calhar o problema não será tanto com o comando Close(), mas com a maneira como se calhar definiste as Forms no programa ou então a relação que elas têm umas com as outras aquando do fecho de alguma.

    Quanto a exemplos, é um bocado manhoso estar-te a dar aqui alguns, porque existem muitas maneiras de se trabalhar com Forms no Visual Studio.NET.
    Depende muito da maneira como pensaste fazer o prog.

    Posso é aconselhar-te alguns livros ou tutoriais, como por exemplo o O'Reilly VB.NET in a Nutshell. Os manuais da MS Press e da Syngress relacionados com o VB.NET também são bons.
     
    Última edição: 16 de Maio de 2004
  3. CoolZero

    CoolZero Power Member

    A minha opinião é que eskusas de recorrer a livros!..

    As dicas que o peteralien te deu parecem.me mto boas, deves estar mesmo a usar mal o comando close() das forms, podendo ser tb da maneira como crias as forms...

    Mas, caso queiras exemplos/ajudas, acho q recorrer a livros é tempo perdido, dado que exemplos com cenas dessas é o que mais existe na net. Uma boa pesquisa no Google e voilá... tudo o que keres saber sobre forms.

    keres uma dica de pesquisa?.. "closing forms vb.net" :P
     
  4. peter alien

    peter alien Power Member



    Sim esqueci-me desse "pormenor" muito importante (foi imperdoável :D)

    Google rula... e já agora uns bons Forums também ;)
     
  5. bfpaiva

    bfpaiva Power Member

    obrigado a todos mas a parte do google não ajuda muito isso já tou farto de fazer mas não me chamem chato mas reparem:

    ---module 1

    public fr1 as new form1
    public fr2 as new form2
    public fr3 as new form3

    -- isto no modulo

    agora vou a cada form e introduzo um botao, na accao do botao na :

    ----form1
    fr2.show()

    -----form2
    fr2.close()
    fr3.show()

    -----form3
    fr3.close()
    fr1.bringtofront()

    conpilo a cena form1 aparece, carrego no botao a form2 aparece, carrego no botao da form2 aparece a form3 mas não fecha a form2.

    este é apenas um exemplo do que me acontece, acham que tera a ver como declaro as variaveis das forms no modulo ?

    fdx, tenho uma ***** de projecto de vb.net + mysql para entregar daqui a 3,5 meses e ainda nao comecei por causa disto , anybody ssave my please!!!

    obrigado a todos! :005:
     
  6. peter alien

    peter alien Power Member

    Eu podia-te explicar aqui, mas acho que ficaria bastante confuso, principalmente se tiveres poucos conhecimentos de VB ou VB.NET.
    Para fazeres aquilo que penso que queres fazer, tens que redefinir o método constructor de uma Form, o que vai adicionar um parâmetro ás Forms, depois esse parâmetro serve para passar os dados de uma Form para dentro de outra, e assim podes depois fechar a 1ª em segurança.

    A explicação foi clara ? hihihi... não sei porquê... acho que não.


    Tens aqui um link, dá uma olhadela no Método 7 (é onde fala sobre aquilo que postei acima):

    http://www.devcity.net/net/article.aspx?alias=multipleforms


    Espero que tenha ajudado.
     
  7. estik

    estik I folded Myself

    Eu programo em VB6 por isso não dever muito diferente do que vb.net.
    Uso sempre o commando Unload Me sempre que preciso de fechar um form e nunca tive problemas.

    Por ex, se quero que um form feche quando se carrega em Escape:


    Código:
    Private Sub Form_KeyPress(KeyAscii As Integer)
        If KeyAscii = 27 Then
            Unload Me
        End If
    End Sub
    
    Não sei se em vb.net funciona, mas tenta.

    Cumps
     
  8. bfpaiva

    bfpaiva Power Member

    obrigado estik e a todos mas acredita que é totil diferente e complicado migrar de vb6 para .net mas nada em informática é impossivel ...

    mais um tempo e espero contar com vossa ajuda para a conclusão do meu projecto final de curso. thanks to everybody

    em especial um grande abraço ao Peter Alien
     
  9. peter alien

    peter alien Power Member

    De nada ;) ... e boa sorte com o projecto de final de curso.

    ...e, já sabes que podes contar sempre com o ppl aqui do "Ganda Fórum" :D
     

Partilhar esta Página