VB.NET如何根据按下哪个按钮来改变面板的外观?

问题描述 投票:0回答:3

我知道这个问题以前被问过很多次。我的问题类似于 在点击按钮后显示一个面板,在同一框架内点击第二个按钮时显示另一个面板。

我在designers里有一个面板,我想让它在我点击button_1时显示一组控件,而在我点击button_2时显示另一组控件。我想让它显示一组控件,当我点击按钮_1和另一个控件,当我点击按钮_2。我不想通过tab changer来实现这个目标(因为顶部的小标签不是很理想)。

如何在visual studio中使用VB.NET实现这个功能?

vb.net forms controls
3个回答
1
投票

你写道,你不想使用Tabcontrol,因为你不想让tab头可见。然而Tabcontrol对于这种应用是非常理想的。你可以通过使用这个派生控件来隐藏tab头。

Public Class TablessControl
    Inherits System.Windows.Forms.TabControl
    Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
        ' Hide tabs by trapping the TCM_ADJUSTRECT message
        If (m.Msg = Convert.ToInt32("0x1328", 16) And Not DesignMode) Then
            m.Result = CType(1, IntPtr)
        Else
            MyBase.WndProc(m)
        End If
    End Sub
End Class

声明:这段代码来自于SO上的另一个答案,不是我的代码。但是它的工作原理很好,我会努力找到相应的答案。源码。在C# TabControl上隐藏标签页头

把代码放到你的项目中,然后编译一次。然后你就可以在你的工具箱中拥有这个控件,并且可以像普通的标签控件一样使用它。在运行时,标题按钮会自动隐藏。


2
投票

你可以使用.BringToFront()属性。在可见属性中,你需要将其他设置为false,但如果你使用.BringToFront属性,就不需要将其他控件设置为可见的false。我假设这些面板是重叠的。


1
投票

你可以使用两个 Panels (每套控件一个),并修改它们的? .Visible 身上 Button 点击。

© www.soinside.com 2019 - 2024. All rights reserved.