IMPEDIR FORM ABRI DUAS VEZES - VB.NET

CLEBERBALMEIDA 20/09/2013 21:30:02
#429122
Amigos, mais uma vez preciso da ajuda de vocês...

Tenho uma função que impede o form de abrir duas vezes, conforme abaixo e também estou enviando o exemplo em anexo. Enquanto isso tá tudo bem, ele impede mesmo de abrir duas vezes, porém, eu queria colocar o foco para o form que o usuário está clicando no menu referente a ele.


Por exemplo, clico para abrir o form1, ele abre, depois abro o form2 por cima do form1, quando clico novamente no menu para abrir o form1, não abre novamente, ok, porém, queria jogar o foco para ele, e dá erro nessa parte.

Código usado para chamar o form:

If Application.OpenForms.OfType(Of Form2)().Count() > 0 Then
MsgBox([Ô]Form2 já aberto[Ô])
Form2.Focus() [txt-color=#007100][ô]NESSA LINHA SERIA PARA DAR O FOCO NO FORM2, PORéM NÃO VAI.[/txt-color]
Else
Dim form As New Form2()
form.MdiParent = Me
form.Show()
End If

se alguém puder baixar e verificar o que está errado.
CLEBERBALMEIDA 22/09/2013 13:21:34
#429138
Pessoal, consegui com o seguinte código:

Dim _found As Boolean = False
For Each _openForm As Form In Application.OpenForms : If TypeOf _openForm Is Form1 Then : _openForm.Focus() : _found = True : End If : Next
If Not _found Then : Dim _Form1 As New Form1() : _Form1.Show() : End If


Valew!
Tópico encerrado , respostas não são mais permitidas