3

ですから、左側にツリーがあり、右側にパネルがある設定画面を作成しています。画面に表示されるパネルは、選択されているツリーアイテムによって異なります。

これらのパネルをデザインし、後で使用するためにテーマを保存するにはどうすればよいか疑問に思っています(ランタイム)。

コードを表示してからクラスなどにコピーする必要がありますか?

私の質問が少し曖昧な場合は申し訳ありませんが、私は本当に何が欲しいのかわかりません:-O

編集はい、VisualStudioにあるような設定画面を作成したいと思っています。左側のツリー(エクスプローラーのような)と、各ツリーノードの新しいフォームレイアウト。

4

1 に答える 1

2

Panelの代わりにUserControlsを作成することをお勧めします。これは、デザイナーで簡単に編集できます。ツリービューを左側にドッキングし、次のようなコードを使用してアクティブなユーザーコントロールを選択します。

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 に答える