0

我正在创建一个 GUI,我想要一个根据树视图中的哪个项目或单选按钮上选择的项目进行更改的应用程序。

我知道如何知道选择了哪个项目,但是如何根据项目更改界面?

我应该尝试什么?多个面板?有些隐藏?

想象一下像 MMC 这样的应用程序,右侧会根据我在右侧选择的内容而变化。

我在事件中使用了Button1.Visible = true 和类似的东西Button2.Visible = false,但是如何将右侧的元素分组?在设计者模式下,我会看到每个对象都与其他对象重叠吗?

4

2 回答 2

1

假设您指的是菜单之类的东西(左侧的菜单选项;单击时,窗口的右侧会填充相应的设置),只需为每个“窗口”创建一个单独的控件(非技术性词的用法)在右边。选择左侧的条目时,请通过在右侧面板中的相应控件上调用brandtofront()来处理单击事件。

如果您不是指菜单,而是指更细化的东西(左侧的每个选择都在同一个中央显示单元上操作,并且每个选择可能只影响一小部分),然后划分将中央显示单元分成面板,每个可能受左侧选择影响的单元一个,并根据左侧选择显示和隐藏它们。

于 2012-06-27T21:51:06.073 回答
0

处理这个问题的常用方法是在屏幕右侧有一个面板,并且每个不同的视图都创建了自己的 UserControl。然后,当树视图选择更改时,您清除面板的子项,创建相关的 UserControl 实例,将其添加到面板,并将其 Dock 设置为 Fill。类似于下面的伪代码:

    private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
    {
        panel1.Controls.Clear();
        UserControl uc = new MyUserControl();
        uc.DataToShow = (MyObject)treeView1.SelectedNode.Tag;
        uc.Dock = DockStyle.Fill;
        panel1.Controls.Add(uc);
    }
于 2012-06-28T01:44:47.510 回答