2010-01-29 3 views
3

Donc, je fais un écran de paramètres au moment où je vais avoir un arbre sur la gauche, puis un panneau sur la droite. Le panneau qui est à l'écran dépendra de l'élément de l'arborescence sélectionné.C# Comment concevoir le panneau pour une utilisation ultérieure .. (Écran Paramètres)

Je me demandais comment créer ces panneaux et sauvegarder le thème pour l'utiliser plus tard (temps d'exécution). Est-ce que je dois aller les dessiner, etc. Voir le code puis copier dans une classe ou quelque chose?

Désolé si ma question est un peu vague, mais je ne suis pas vraiment sûr de ce que je veux: -O

EDIT Oui, je cherche à faire un écran des paramètres comme celui qui se trouve dans Visual Studio . Un arbre sur la gauche (explorateur comme) et ensuite une nouvelle disposition de forme pour chaque nœud d'arbre.

+0

Vous voulez dire quelque chose comme l'écran d'options de VS? – t0mm13b

+0

Que comptez-vous ajouter aux panneaux? –

Répondre

2

Vous voudrez créer UserControls au lieu d'un Panel, il est facile à éditer dans le concepteur. Dock l'arborescence à gauche et utiliser le code comme celui-ci pour sélectionner le contrôle utilisateur actif:

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

Bonjour, Merci pour votre réponse, mais j'ai un peu de mal à comprendre ce qui se passe ici. Pourriez-vous s'il vous plaît élaborer ou fournir un lien où je peux lire plus à ce sujet. Merci. – conor

+0

Ajoutez UserControls à votre projet, n'utilisez pas de panneaux. Je ne peux pas penser à un bon lien pour cela. Le code que j'ai posté est juste la plomberie dont vous avez besoin dans le gestionnaire d'événements AfterSelect pour basculer entre les contrôles utilisateur. Essayez-le. –

Questions connexes