Inserindo Componentes Dinamicamente
Pessoal,
Estou com problema para inserir componentes dinamicamente no formulário (aplicação windows). O componente que desejo inserir é o TabPage.
Já tenho no formulário o TabControl pai, o problema é que os TabPages dependem de uma consulta à Base e sua qtde é variável, além disso, cada TabPage carregará um identificador e um DataGridView próprios.
Alguém tem alguma idéia ?
Grato
MLeal
Estou com problema para inserir componentes dinamicamente no formulário (aplicação windows). O componente que desejo inserir é o TabPage.
Já tenho no formulário o TabControl pai, o problema é que os TabPages dependem de uma consulta à Base e sua qtde é variável, além disso, cada TabPage carregará um identificador e um DataGridView próprios.
Alguém tem alguma idéia ?
Grato
MLeal
Mleal
Curtidas 0
Respostas
Rjun
02/01/2008
Você quer inserir as tabpages dentro do TabControl? O código abaixo não serve?
tabControl.TabPages.Add("Nova");
GOSTEI 0
Ecfrsbg
02/01/2008
Não sei se a dúvida do colega é a mesma minha,
mas este fonte funciona corretamente
With TabControl1
.TabPages.Add(´Auto-Portante´)
.SelectedTab.Name = ´AP´ + LTrim(Str(TabControl1.TabCount))
snome = ´AP´ + LTrim(Str(TabControl1.TabCount))
DirecionaTabControl(TabControl1.TabCount - 1)
End With
Private Sub DirecionaTabControl(ByVal iposicao As Integer)
Me.TabControl1.SelectedIndex = iposicao
End Sub
aqui apenas incrementei o focu no item criado,
mas o que ainda nao sei e acho q o colega tambem nao
é como por exemplo executar um panel instanciado de um panel
ja existente???
mas este fonte funciona corretamente
With TabControl1
.TabPages.Add(´Auto-Portante´)
.SelectedTab.Name = ´AP´ + LTrim(Str(TabControl1.TabCount))
snome = ´AP´ + LTrim(Str(TabControl1.TabCount))
DirecionaTabControl(TabControl1.TabCount - 1)
End With
Private Sub DirecionaTabControl(ByVal iposicao As Integer)
Me.TabControl1.SelectedIndex = iposicao
End Sub
aqui apenas incrementei o focu no item criado,
mas o que ainda nao sei e acho q o colega tambem nao
é como por exemplo executar um panel instanciado de um panel
ja existente???
GOSTEI 0
Ecfrsbg
02/01/2008
Respondendo: Uma forma seria manter um panel com os campos
necessarios e instanciá-lo em uma nova tabpage como
segue abaixo.
*****
Dim novopanel As New Panel
novopanel = pnlEstante
novopanel.CreateControl()
novopanel.Parent = TabControl1.TabPages(TabControl1.TabCount - 1)
*****
necessarios e instanciá-lo em uma nova tabpage como
segue abaixo.
*****
Dim novopanel As New Panel
novopanel = pnlEstante
novopanel.CreateControl()
novopanel.Parent = TabControl1.TabPages(TabControl1.TabCount - 1)
*****
GOSTEI 0