【问题标题】:Adding buttons to panels on tabpages - buttons show up on wrong panel向标签页上的面板添加按钮 - 按钮显示在错误的面板上
【发布时间】:2016-06-19 16:00:49
【问题描述】:

我已经使用我的 Foci 程序有一段时间了。它由一个 mock-ini 文件控制,该文件定义了标签页、按钮以及它们在单击时的作用。我可以通过编辑ini文件来改变一切。我决定对给定标签页上的按钮进行分组的最简单方法是将每个按钮放在面板上。所以今天早上我添加了由“With 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)

提前致谢。

【问题讨论】:

    标签: vb.net visual-studio-2015 controls


    【解决方案1】:

    我已经达到了我想要的效果。我现在将按钮和面板都直接添加到标签页中。之前,我将按钮添加到面板,然后将面板添加到标签页。我猜这些控件实际上并没有被添加到面板中。我认为他们这样做是错误的。

    【讨论】:

    • 面板容器控件,如果面板应该包含它们,按钮应该放在newPanel控件中。问题出在您的 NewLocation() 方法中。如果每个面板有一个按钮,那么每个按钮的位置都相同。
    • 谢谢你,Plutonix。我可以看出你是对的。但是,我将保留我的代码,因为面板包含按钮并不重要。我只寻求面板创建的基本上是瓷砖的视觉分组效果。很高兴澄清我对未来工作的理解。
    • 由于它们是动态添加的,您可能很难找到它们,因为它们不会出现在您认为的集合中
    • 我不需要找到它们。他们只是将一个完全限定的文件名传递给在 ini 文件中指定的 Process.start。再次感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-05
    • 2013-05-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多