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

标签 c# panels

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

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

我是否需要去把它们画出来等等。查看代码然后复制到一个类或其他什么?

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

编辑 是的,我希望制作一个类似于 Visual Studio 中的设置屏幕。左边的树(类似资源管理器),然后是每个树节点的新表单布局。

最佳答案

您需要创建用户控件而不是面板,这很容易在设计器中进行编辑。将 TreeView 停靠在左侧并使用如下代码选择事件用户控件:

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;
        }
    }
}

关于C# 如何设计面板供以后使用..(设置屏幕),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2165269/

相关文章:

c# - 对一个字符串使用多个字符串生成器

c# - 调用存储过程时的 .NET 4.0 事务行为

c# - 如何获取 UTF-8 JSON

c# - 如何将特定数据存储到带有类的列表中

c# - Ajax 更新面板和样式

c# - 使用 Azure 存储客户端库 v2 的共享访问签名出现 404 错误

extjs - Ext JS 仪表板布局和最大化/最小化面板

c# - 如何使停靠面板越过另一个停靠面板

jquery - CSS 问题 - 我希望客户区完全填满

java - 在 GWT 中布局元素的最佳方式是什么?