3

所以我正在制作一个设置屏幕,左边是一棵树,右边是一个面板。屏幕上的面板将取决于选择的树项。

只是想知道如何设计这些面板并保存主题以供以后使用(运行时)。

我需要去把它们画出来等等查看代码然后复制到一个类中吗?

抱歉,如果我的问题有点含糊,但我不确定我想要什么:-O

编辑是的,我正在寻找一个设置屏幕,就像在 Visual Studio 中找到的那样。左侧的树(类似资源管理器),然后是每个树节点的新表单布局。

4

1 回答 1

2

您需要创建 UserControls 而不是 Panel,它很容易在设计器中进行编辑。将树视图停靠在左侧并使用如下代码选择活动用户控件:

public partial class Form1 : Form {
    public Form1() {
        InitializeComponent();
        treeView1.AfterSelect += new TreeViewEventHandler(treeView1_AfterSelect);
    }
    private UserControl mActivePanel;

    void treeView1_AfterSelect(object sender, TreeViewEventArgs e) {
        UserControl newPanel = null;
        switch (e.Node.Index) {
            case 0: newPanel = new UserControl1(); break;
            case 1: newPanel = new UserControl2(); break;
            // etc...
        }
        if (newPanel != null) {
            if (mActivePanel != null) {
                mActivePanel.Dispose();
                this.Controls.Remove(mActivePanel);
            }
            newPanel.Dock = DockStyle.Fill;
            this.Controls.Add(newPanel);
            this.Controls.SetChildIndex(newPanel, 0);
            mActivePanel = newPanel;
        }
    }
}
于 2010-01-29T22:03:14.890 回答