我一直在使用我的Foci程序。它由mock-ini文件控制,该文件定义了tabpages,按钮以及它们在单击时所执行的操作。我可以通过编辑ini文件来改变一切。我决定将给定标签页上的按钮分组的最简单方法是将每个按钮放在面板上。所以今天早上我添加了由'使用newPanel'定义的代码部分。其余代码已经正常工作。每个面板足够大,以提供位于面板中心的按钮周围的边界。面板的尺寸使得它们接触,从而形成具有相同颜色的其他按钮的区域。
我的问题是给定标签页上的所有按钮都被添加到第一个面板。所有按钮都显示足够的面板,但除第一个按钮外,它们都是空的。我对这种行为感到困惑。
以下是相关代码:
newButton = New Button
SelectATab(sTab) 'select correct tab...
With newButton
.Name = "btn" & sText.Replace(" ", [String].Empty)
.Text = sText
.Tag = sFullPath
.BackColor = BC
.ForeColor = FC
.Location = NewLocation()
.Width = Convert.ToInt32(oIni.ButtonWidth)
.Height = Convert.ToInt32(oIni.ButtonHeight)
End With
Dim newPanel As New Panel
With newPanel
.Name = "pnl" & sTab & sText.Replace(" ", [String].Empty)
.Text = sText
.Tag = sFullPath
.BackColor = Color.Black
.Location = NewPanelLocation(newButton.Location)
.Width = Convert.ToInt32(oIni.ButtonWidth + 20)
.Height = Convert.ToInt32(oIni.ButtonHeight + 10)
End With
AddHandler newButton.Click, AddressOf MyEventHandler
newPanel.Controls.Add(newButton)
tabControl1.SelectedTab.Controls.Add(newPanel)
提前致谢。
答案 0 :(得分:0)
我已经达到了我想要的效果。我现在将按钮和面板直接添加到标签页。之前,我正在向面板添加按钮,然后将面板添加到标签页。我猜控件实际上并没有添加到面板中。我认为他们这样做是错误的。