首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于ComboBox选择显示/隐藏一堆按钮的简洁方法

基于ComboBox选择显示/隐藏一堆按钮的简洁方法
EN

Stack Overflow用户
提问于 2010-04-15 05:47:02
回答 3查看 4.6K关注 0票数 0

我正在使用Visual Studio2005用VB.NET编写一个独立的应用程序。

我想根据某个Button的选定值显示/隐藏一组ComboBox。每个选择将有一组不同的Button来显示,我希望将它们排列在一个漂亮的网格中。

使用ComboBox值驱动TabControl将是我想要的那种行为,但我不希望它对用户来说看起来像TabControl,因为这可能会让人感到困惑。

有没有办法做到这一点?

基本上,我希望ComboBox的Selection1显示按钮1-4,Selection2显示按钮5-11,Selection3显示(可能)按钮1,3,5,6和8,等等,它们排列得很好,并且让图形用户界面只显示ComboBox和按钮。

一如既往的提前感谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-04-15 05:50:02

使用Panel控件(或多个,如果项不是彼此相邻分组的话),并相应地设置可见性。

(添加)您可以将面板堆叠在一起,以便所有按钮看起来都在同一位置。但它变成了维护的噩梦,我不推荐它。

黑客警告-以下是一个黑客攻击,但它是有效的。

另一种选择是使用选项卡控件,但隐藏选项卡按钮。(您可以通过在按钮上放置一个面板来完成此操作,但您必须小心让用户调整窗体的大小。)然后根据下拉更改来设置TabIndex。

再次编辑-按注释添加

如果使用hack,可以将其添加到ComboBox的selected index changed事件中。

(代码可能是错误的,因为我不在我的开发pc上,无法检查,但你明白我的意思了)

代码语言:javascript
复制
TabControl1.SelectedIndex = ComboBox1.SelectedIndex
票数 2
EN

Stack Overflow用户

发布于 2010-07-09 05:40:33

你可以把你所有的按钮放在表单的一个面板上。然后,当combobox的SelectedIndex事件触发时,您可以遍历面板上的按钮,并根据它们的Tag属性打开和关闭它们。

对于本例,您需要将每个按钮的Tag属性设置为等于您希望为其打开的combobox索引。如果您希望它在多个组合选择中可见,只需用逗号分隔tag属性中的索引值。

您不必关闭combobox索引。例如,您可以使用选定的文本。如果您这样做了,只需将显示按钮的文本放在标记属性中,并将代码从ComboBox1.SelectedIndex.ToString更改为ComboBox1.SelectedText。

这些按钮将在设计时打开和关闭它们放置的位置,但您可以在此处添加一些代码来动态排列它们,以便所有可见的按钮排列整齐。

代码语言:javascript
复制
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
    For Each ctrl As Control In Me.Panel1.Controls
        If TypeOf ctrl Is Button Then
            If Array.IndexOf(Split(ctrl.Tag, ","), ComboBox1.SelectedIndex.ToString) > -1 Then
                ctrl.Visible = True
            Else
                ctrl.Visible = False
            End If
        End If
    Next
End Sub
票数 2
EN

Stack Overflow用户

发布于 2010-04-15 05:56:30

也许使用FlowLayoutPanel可以帮助你显示这些按钮。您可以使用交错数组来定义哪些按钮属于哪个组合框项。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2641287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档