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

Inúmeras instâncias de uma Form abertas em VB.NET!!!

Discussão em 'Programação' iniciada por peter alien, 24 de Agosto de 2012. (Respostas: 3; Visualizações: 644)

  1. peter alien

    peter alien Power Member

    Boas a todos,

    estou aqui com uma situação daquelas que embicam :( e envergonham :D

    Tenho uma Form que contem um StripMenu, cada opção desse StripMenu abre uma nova Form correspondente a essa opção.

    O problema é que na Form principal (onde o StripMenu existe), para abrir por exemplo uma dessa Forms tenho de colocar no código a seguinte linha:


    Dim F2 as new Form2

    (ou seja instanciar cada Form a abrir)


    O chato é que cada vez que clico nessa opção ele farta-se de abrir a Form2 inumeras vezes.


    Existe maneira da aplicação saber que a Form2 já está aberta, e não abrir mais instâncias dela quando clico no item do StripMenu correspondente a essa Form?


    Obrigado.
     
  2. Ryu^

    Ryu^ Power Member

    Boas,

    Se tens acesso à variável onde o Form está a ser instanciado fazes um If a ver se tem um objecto de form, se tiver então fazes focus ao form caso contrário instancias. Não me lembro como fazer focus por isso não meto o código, mas acho que funciona.
     
  3. Bro840

    Bro840 Power Member

    Não faças

    Dim F2 as new Form2

    Faz assim

    frmF2.show


    assumindo que o nome do formulário que queres abrir é frmF2
     
  4. peter alien

    peter alien Power Member

    Sim pensei em fazer da maneira que indicaste, mas como andei a pesquisar na net e indicaram-me por várias vezes que era preferivel instanciar a Form apesar de ela estar definida na janela da Solution, estava a utilizar o Dim!

    Ok, obrigado então :)
     

Partilhar esta Página