C#如何设计面板供以后使用..(设置屏幕)

时间:2010-01-29 21:26:35

标签: c# panels

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

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

我是否需要去绘制它们等等。查看代码然后复制到类或其他东西?

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

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

1 个答案:

答案 0 :(得分:2)

您需要创建UserControl而不是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;
        }
    }
}