TABCONTROL
Ola galera
Já procurei em muitos lugares, mas não achei oque preciso
o negócio é o seguinte, tenho um tabcontrol e dentro deste tabcontrol
obviamente tenho tabpages e dentro destas tabpages tenho forms, é ai
que começa meu problema(de noob), quando eu abro uma aba de cada vez
funciona tudo bem, mas quando deixo uma aberta e abro a segunda ela abre
o form na aba do form anterior...
Fico muito confuso né!!!
Para melhor entender, disponibilizei o projeto....
para quem for fazer o teste, no menu, na aba cliente no botão consulta abre um.
na aba produtos no botão consulta abre mais um.
o código que uso para abrir:
Public Sub abreform2()
If testa_aberto_frm2 = True Then
Dim f2 As Form2 = New Form2
f2.Focus()
Else
Dim f2 As Form2 = New Form2
f2.TopLevel = False
Form1.TabControl1.TabPages.Add(f2.Text)
Form1.TabControl1.SelectedTab.Controls.Add(f2)
f2.Show()
testa_aberto_frm2 = True
End If
End Sub
Public Sub abreform3()
If teste_aberto_frm3 = True Then
Dim f3 As Form3 = New Form3
f3.Focus()
Else
Dim f3 As Form3 = New Form3
f3.TopLevel = False
Form1.TabControl1.TabPages.Add(f3.Text)
Form1.TabControl1.SelectedTab.Controls.Add(f3)
f3.Show()
teste_aberto_frm3 = True
End If
End Sub
para fechar:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim f3 As Form3 = New Form3
f3.Close()
Form1.TabControl1.TabPages.Remove(Form1.TabControl1.SelectedTab)
teste_aberto_frm3 = False
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim f2 As Form2 = New Form2
f2.Close()
Form1.TabControl1.TabPages.Remove(Form1.TabControl1.SelectedTab)
testa_aberto_frm2 = False
End Sub
Desde já agradeço
Já procurei em muitos lugares, mas não achei oque preciso
o negócio é o seguinte, tenho um tabcontrol e dentro deste tabcontrol
obviamente tenho tabpages e dentro destas tabpages tenho forms, é ai
que começa meu problema(de noob), quando eu abro uma aba de cada vez
funciona tudo bem, mas quando deixo uma aberta e abro a segunda ela abre
o form na aba do form anterior...
Fico muito confuso né!!!
Para melhor entender, disponibilizei o projeto....
para quem for fazer o teste, no menu, na aba cliente no botão consulta abre um.
na aba produtos no botão consulta abre mais um.
o código que uso para abrir:
Public Sub abreform2()
If testa_aberto_frm2 = True Then
Dim f2 As Form2 = New Form2
f2.Focus()
Else
Dim f2 As Form2 = New Form2
f2.TopLevel = False
Form1.TabControl1.TabPages.Add(f2.Text)
Form1.TabControl1.SelectedTab.Controls.Add(f2)
f2.Show()
testa_aberto_frm2 = True
End If
End Sub
Public Sub abreform3()
If teste_aberto_frm3 = True Then
Dim f3 As Form3 = New Form3
f3.Focus()
Else
Dim f3 As Form3 = New Form3
f3.TopLevel = False
Form1.TabControl1.TabPages.Add(f3.Text)
Form1.TabControl1.SelectedTab.Controls.Add(f3)
f3.Show()
teste_aberto_frm3 = True
End If
End Sub
para fechar:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim f3 As Form3 = New Form3
f3.Close()
Form1.TabControl1.TabPages.Remove(Form1.TabControl1.SelectedTab)
teste_aberto_frm3 = False
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim f2 As Form2 = New Form2
f2.Close()
Form1.TabControl1.TabPages.Remove(Form1.TabControl1.SelectedTab)
testa_aberto_frm2 = False
End Sub
Desde já agradeço
Calma gente, um post de cada vez.....
Mas para NOSSA ALEGRIA, resolvi o problema, o erro estava nesta linha:
Form1.TabControl1.SelectedTab.Controls.Add(f2)
e tem que ser assim:
Form1.TabControl1.TabPages(Form1.TabControl1.TabIndex).Controls.Add(f2)
ou seja minha sub para add uma tab com form dentro fica assim:
Public Sub abreform2()
If testa_aberto_frm2 = True Then
f2.Focus()
Else
f2.TopLevel = False
Form1.TabControl1.TabIndex = Form1.TabControl1.TabCount
Form1.TabControl1.TabPages.Add(f2.Text)
Form1.TabControl1.TabPages(Form1.TabControl1.TabIndex).Controls.Add(f2)
[ô]Form1.TabControl1.SelectedTab.Controls.Add(f2)
f2.Show()
testa_aberto_frm2 = True
MsgBox(Form1.TabControl1.TabIndex)
End If
End Sub
Vlw gente e até mais...
Mas para NOSSA ALEGRIA, resolvi o problema, o erro estava nesta linha:
Form1.TabControl1.SelectedTab.Controls.Add(f2)
e tem que ser assim:
Form1.TabControl1.TabPages(Form1.TabControl1.TabIndex).Controls.Add(f2)
ou seja minha sub para add uma tab com form dentro fica assim:
Public Sub abreform2()
If testa_aberto_frm2 = True Then
f2.Focus()
Else
f2.TopLevel = False
Form1.TabControl1.TabIndex = Form1.TabControl1.TabCount
Form1.TabControl1.TabPages.Add(f2.Text)
Form1.TabControl1.TabPages(Form1.TabControl1.TabIndex).Controls.Add(f2)
[ô]Form1.TabControl1.SelectedTab.Controls.Add(f2)
f2.Show()
testa_aberto_frm2 = True
MsgBox(Form1.TabControl1.TabIndex)
End If
End Sub
Vlw gente e até mais...
Tópico encerrado , respostas não são mais permitidas