Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

UN AUTRE TREEVIEW


Information sur la source

Catégorie :.NET Source .NET ( DotNet ) Classé sous : treeview, csharp, dotnet Niveau : Initié Date de création : 01/01/2005 Date de mise à jour : 05/05/2008 21:50:00 Vu / téléchargé: 16 829 / 848

Note :
7,5 / 10 - par 2 personnes
7,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (18)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Ce treeview possède en plus des fonctionnalités standards du treeview,
- la possibilité d'afficher des colonnes en plus de la colonne "Arbre"
- la possibilité de surligner un "chemin" depuis la racine de l'arbre vers un ou plusieurs noeuds
- la possibilité d'afficher/cacher un "header"
- de trier par colonne dans le mode affichage en grille
 

Source

  • Exemple d'utilisation
  • using System;
  • using System.ComponentModel;
  • using System.Diagnostics;
  • using System.Drawing;
  • using System.Windows.Forms;
  • namespace Genius.Controls
  • {
  • /// <summary>
  • /// Summary description for DemoTreeView.
  • /// </summary>
  • public class DemoTreeView : Form
  • {
  • private GeniusTreeView FTree;
  • private Panel panel1;
  • private Splitter splitter1;
  • private Panel pnlTreeview;
  • private CheckBox cbShowHeader;
  • private CheckBox cbShowTreeLines;
  • private CheckBox cbuseColumns;
  • private ContextMenu contextMenu1;
  • private MenuItem menuItem10;
  • private MenuItem menuItem11;
  • private MenuItem menuItem12;
  • private MenuItem menuItem13;
  • private MenuItem menuItem14;
  • private MenuItem menuItem15;
  • private MenuItem menuItem16;
  • private MenuItem menuItem17;
  • private MenuItem menuItem18;
  • private MenuItem menuItem19;
  • private MenuItem menuItem20;
  • private CheckBox cbCanEdit;
  • private CheckBox cbCanCheck;
  • private CheckBox cbCanUncheck;
  • private CheckBox checkBox4;
  • private System.Windows.Forms.Label label1;
  • private System.Windows.Forms.CheckBox cbHGridLine;
  • private System.Windows.Forms.CheckBox cbVGridLine;
  • /// <summary>
  • /// Required designer variable.
  • /// </summary>
  • private Container components = null;
  • public DemoTreeView()
  • {
  • //
  • // Required for Windows Form Designer support
  • //
  • InitializeComponent();
  • //
  • // TODO: Add any constructor code after InitializeComponent call
  • //
  • }
  • /// <summary>
  • /// Clean up any resources being used.
  • /// </summary>
  • protected override void Dispose( bool disposing )
  • {
  • if( disposing )
  • {
  • if(components != null)
  • {
  • components.Dispose();
  • }
  • }
  • base.Dispose( disposing );
  • }
  • #region Windows Form Designer generated code
  • /// <summary>
  • /// Required method for Designer support - do not modify
  • /// the contents of this method with the code editor.
  • /// </summary>
  • private void InitializeComponent()
  • {
  • this.panel1 = new System.Windows.Forms.Panel();
  • this.cbVGridLine = new System.Windows.Forms.CheckBox();
  • this.label1 = new System.Windows.Forms.Label();
  • this.checkBox4 = new System.Windows.Forms.CheckBox();
  • this.cbCanUncheck = new System.Windows.Forms.CheckBox();
  • this.cbCanCheck = new System.Windows.Forms.CheckBox();
  • this.cbCanEdit = new System.Windows.Forms.CheckBox();
  • this.cbuseColumns = new System.Windows.Forms.CheckBox();
  • this.cbHGridLine = new System.Windows.Forms.CheckBox();
  • this.cbShowTreeLines = new System.Windows.Forms.CheckBox();
  • this.cbShowHeader = new System.Windows.Forms.CheckBox();
  • this.splitter1 = new System.Windows.Forms.Splitter();
  • this.pnlTreeview = new System.Windows.Forms.Panel();
  • this.contextMenu1 = new System.Windows.Forms.ContextMenu();
  • this.menuItem10 = new System.Windows.Forms.MenuItem();
  • this.menuItem20 = new System.Windows.Forms.MenuItem();
  • this.menuItem11 = new System.Windows.Forms.MenuItem();
  • this.menuItem12 = new System.Windows.Forms.MenuItem();
  • this.menuItem13 = new System.Windows.Forms.MenuItem();
  • this.menuItem14 = new System.Windows.Forms.MenuItem();
  • this.menuItem15 = new System.Windows.Forms.MenuItem();
  • this.menuItem16 = new System.Windows.Forms.MenuItem();
  • this.menuItem17 = new System.Windows.Forms.MenuItem();
  • this.menuItem18 = new System.Windows.Forms.MenuItem();
  • this.menuItem19 = new System.Windows.Forms.MenuItem();
  • this.panel1.SuspendLayout();
  • this.SuspendLayout();
  • //
  • // panel1
  • //
  • this.panel1.Controls.Add(this.cbVGridLine);
  • this.panel1.Controls.Add(this.label1);
  • this.panel1.Controls.Add(this.checkBox4);
  • this.panel1.Controls.Add(this.cbCanUncheck);
  • this.panel1.Controls.Add(this.cbCanCheck);
  • this.panel1.Controls.Add(this.cbCanEdit);
  • this.panel1.Controls.Add(this.cbuseColumns);
  • this.panel1.Controls.Add(this.cbHGridLine);
  • this.panel1.Controls.Add(this.cbShowTreeLines);
  • this.panel1.Controls.Add(this.cbShowHeader);
  • this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
  • this.panel1.Location = new System.Drawing.Point(0, 0);
  • this.panel1.Name = "panel1";
  • this.panel1.Size = new System.Drawing.Size(520, 72);
  • this.panel1.TabIndex = 0;
  • //
  • // cbVGridLine
  • //
  • this.cbVGridLine.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
  • this.cbVGridLine.Location = new System.Drawing.Point(16, 56);
  • this.cbVGridLine.Name = "cbVGridLine";
  • this.cbVGridLine.Size = new System.Drawing.Size(103, 16);
  • this.cbVGridLine.TabIndex = 9;
  • this.cbVGridLine.Text = "ShowGridlines ?";
  • this.cbVGridLine.CheckedChanged += new System.EventHandler(this.cbVGridLine_CheckedChanged);
  • //
  • // label1
  • //
  • this.label1.AllowDrop = true;
  • this.label1.Location = new System.Drawing.Point(392, 24);
  • this.label1.Name = "label1";
  • this.label1.TabIndex = 8;
  • this.label1.Text = "Drag or Drop";
  • this.label1.GiveFeedback += new System.Windows.Forms.GiveFeedbackEventHandler(this.label1_GiveFeedback);
  • this.label1.DragEnter += new System.Windows.Forms.DragEventHandler(this.label1_DragEnter);
  • this.label1.DragOver += new System.Windows.Forms.DragEventHandler(this.label1_DragOver);
  • this.label1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.label1_MouseDown);
  • //
  • // checkBox4
  • //
  • this.checkBox4.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
  • this.checkBox4.Location = new System.Drawing.Point(216, 8);
  • this.checkBox4.Name = "checkBox4";
  • this.checkBox4.Size = new System.Drawing.Size(104, 16);
  • this.checkBox4.TabIndex = 7;
  • this.checkBox4.Text = "usecolumns ?";
  • //
  • // cbCanUncheck
  • //
  • this.cbCanUncheck.Checked = true;
  • this.cbCanUncheck.CheckState = System.Windows.Forms.CheckState.Checked;
  • this.cbCanUncheck.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
  • this.cbCanUncheck.Location = new System.Drawing.Point(216, 48);
  • this.cbCanUncheck.Name = "cbCanUncheck";
  • this.cbCanUncheck.Size = new System.Drawing.Size(104, 16);
  • this.cbCanUncheck.TabIndex = 6;
  • this.cbCanUncheck.Text = "CanUncheck";
  • //
  • // cbCanCheck
  • //
  • this.cbCanCheck.Checked = true;
  • this.cbCanCheck.CheckState = System.Windows.Forms.CheckState.Checked;
  • this.cbCanCheck.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
  • this.cbCanCheck.Location = new System.Drawing.Point(120, 48);
  • this.cbCanCheck.Name = "cbCanCheck";
  • this.cbCanCheck.Size = new System.Drawing.Size(104, 16);
  • this.cbCanCheck.TabIndex = 5;
  • this.cbCanCheck.Text = "CanCheck";
  • //
  • // cbCanEdit
  • //
  • this.cbCanEdit.Checked = true;
  • this.cbCanEdit.CheckState = System.Windows.Forms.CheckState.Checked;
  • this.cbCanEdit.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
  • this.cbCanEdit.Location = new System.Drawing.Point(120, 28);
  • this.cbCanEdit.Name = "cbCanEdit";
  • this.cbCanEdit.Size = new System.Drawing.Size(104, 16);
  • this.cbCanEdit.TabIndex = 4;
  • this.cbCanEdit.Text = "CanEdit";
  • //
  • // cbuseColumns
  • //
  • this.cbuseColumns.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
  • this.cbuseColumns.Location = new System.Drawing.Point(120, 8);
  • this.cbuseColumns.Name = "cbuseColumns";
  • this.cbuseColumns.Size = new System.Drawing.Size(104, 16);
  • this.cbuseColumns.TabIndex = 3;
  • this.cbuseColumns.Text = "usecolumns ?";
  • this.cbuseColumns.CheckedChanged += new System.EventHandler(this.cbuseColumns_CheckedChanged);
  • //
  • // cbHGridLine
  • //
  • this.cbHGridLine.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
  • this.cbHGridLine.Location = new System.Drawing.Point(16, 40);
  • this.cbHGridLine.Name = "cbHGridLine";
  • this.cbHGridLine.Size = new System.Drawing.Size(104, 16);
  • this.cbHGridLine.TabIndex = 2;
  • this.cbHGridLine.Text = "ShowGridlines ?";
  • this.cbHGridLine.CheckedChanged += new System.EventHandler(this.cbGridLine_CheckedChanged);
  • //
  • // cbShowTreeLines
  • //
  • this.cbShowTreeLines.Checked = true;
  • this.cbShowTreeLines.CheckState = System.Windows.Forms.CheckState.Checked;
  • this.cbShowTreeLines.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
  • this.cbShowTreeLines.Location = new System.Drawing.Point(16, 24);
  • this.cbShowTreeLines.Name = "cbShowTreeLines";
  • this.cbShowTreeLines.Size = new System.Drawing.Size(112, 16);
  • this.cbShowTreeLines.TabIndex = 1;
  • this.cbShowTreeLines.Text = "ShowTreeLines ?";
  • this.cbShowTreeLines.CheckedChanged += new System.EventHandler(this.cbShowTreeLines_CheckedChanged);
  • //
  • // cbShowHeader
  • //
  • this.cbShowHeader.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
  • this.cbShowHeader.Location = new System.Drawing.Point(16, 8);
  • this.cbShowHeader.Name = "cbShowHeader";
  • this.cbShowHeader.Size = new System.Drawing.Size(104, 16);
  • this.cbShowHeader.TabIndex = 0;
  • this.cbShowHeader.Text = "ShowHeader ?";
  • this.cbShowHeader.CheckedChanged += new System.EventHandler(this.cbShowHeader_CheckedChanged);
  • //
  • // splitter1
  • //
  • this.splitter1.Dock = System.Windows.Forms.DockStyle.Top;
  • this.splitter1.Location = new System.Drawing.Point(0, 72);
  • this.splitter1.Name = "splitter1";
  • this.splitter1.Size = new System.Drawing.Size(520, 3);
  • this.splitter1.TabIndex = 1;
  • this.splitter1.TabStop = false;
  • //
  • // pnlTreeview
  • //
  • this.pnlTreeview.Dock = System.Windows.Forms.DockStyle.Fill;
  • this.pnlTreeview.Location = new System.Drawing.Point(0, 75);
  • this.pnlTreeview.Name = "pnlTreeview";
  • this.pnlTreeview.Size = new System.Drawing.Size(520, 322);
  • this.pnlTreeview.TabIndex = 2;
  • //
  • // contextMenu1
  • //
  • this.contextMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
  • this.menuItem10});
  • //
  • // menuItem10
  • //
  • this.menuItem10.Index = 0;
  • this.menuItem10.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
  • this.menuItem20,
  • this.menuItem11,
  • this.menuItem12,
  • this.menuItem13,
  • this.menuItem14,
  • this.menuItem15,
  • this.menuItem16,
  • this.menuItem17,
  • this.menuItem18,
  • this.menuItem19});
  • this.menuItem10.Text = "&Voir";
  • //
  • // menuItem20
  • //
  • this.menuItem20.Checked = true;
  • this.menuItem20.Index = 0;
  • this.menuItem20.Text = "Colonne 0";
  • this.menuItem20.Click += new System.EventHandler(this.ColonneClick);
  • //
  • // menuItem11
  • //
  • this.menuItem11.Checked = true;
  • this.menuItem11.Index = 1;
  • this.menuItem11.Text = "Colonne 1";
  • this.menuItem11.Click += new System.EventHandler(this.ColonneClick);
  • //
  • // menuItem12
  • //
  • this.menuItem12.Checked = true;
  • this.menuItem12.Index = 2;
  • this.menuItem12.Text = "Colonne 2";
  • this.menuItem12.Click += new System.EventHandler(this.ColonneClick);
  • //
  • // menuItem13
  • //
  • this.menuItem13.Checked = true;
  • this.menuItem13.Index = 3;
  • this.menuItem13.Text = "Colonne 3";
  • this.menuItem13.Click += new System.EventHandler(this.ColonneClick);
  • //
  • // menuItem14
  • //
  • this.menuItem14.Checked = true;
  • this.menuItem14.Index = 4;
  • this.menuItem14.Text = "Colonne 4";
  • this.menuItem14.Click += new System.EventHandler(this.ColonneClick);
  • //
  • // menuItem15
  • //
  • this.menuItem15.Checked = true;
  • this.menuItem15.Index = 5;
  • this.menuItem15.Text = "Colonne 5";
  • this.menuItem15.Click += new System.EventHandler(this.ColonneClick);
  • //
  • // menuItem16
  • //
  • this.menuItem16.Checked = true;
  • this.menuItem16.Index = 6;
  • this.menuItem16.Text = "Colonne 6";
  • this.menuItem16.Click += new System.EventHandler(this.ColonneClick);
  • //
  • // menuItem17
  • //
  • this.menuItem17.Checked = true;
  • this.menuItem17.Index = 7;
  • this.menuItem17.Text = "Colonne 7";
  • this.menuItem17.Click += new System.EventHandler(this.ColonneClick);
  • //
  • // menuItem18
  • //
  • this.menuItem18.Checked = true;
  • this.menuItem18.Index = 8;
  • this.menuItem18.Text = "Colonne 8";
  • this.menuItem18.Click += new System.EventHandler(this.ColonneClick);
  • //
  • // menuItem19
  • //
  • this.menuItem19.Checked = true;
  • this.menuItem19.Index = 9;
  • this.menuItem19.Text = "Colonne 9";
  • this.menuItem19.Click += new System.EventHandler(this.ColonneClick);
  • //
  • // DemoTreeView
  • //
  • this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
  • this.BackColor = System.Drawing.SystemColors.Control;
  • this.ClientSize = new System.Drawing.Size(520, 397);
  • this.Controls.Add(this.pnlTreeview);
  • this.Controls.Add(this.splitter1);
  • this.Controls.Add(this.panel1);
  • this.Name = "DemoTreeView";
  • this.Text = "DemoTreeView";
  • this.Load += new System.EventHandler(this.DemoTreeView_Load);
  • this.panel1.ResumeLayout(false);
  • this.ResumeLayout(false);
  • }
  • #endregion
  • private void DemoTreeView_Load(object sender, EventArgs e)
  • {
  • FTree = new GeniusTreeView();
  • FTree.KeyDown +=new KeyEventHandler(FTree_KeyDown);
  • FTree.AllowDrop = true;
  • FTree.ContextMenu = this.contextMenu1;
  • FTree.Dock = DockStyle.Fill;
  • this.pnlTreeview.Controls.Add(FTree);
  • FTree.BeginUpdate();
  • try
  • {
  • FTree.OnBeginCheck +=new OnCheckDelegate(FTree_OnBeginCheck);
  • FTree.OnBeginCollapse +=new OnCollapseDelegate(FTree_OnBeginCollapse);
  • FTree.OnBeginExpand +=new OnExpandDelegate(FTree_OnBeginExpand);
  • FTree.OnBeginUnCheck +=new OnUnCheckDelegate(FTree_OnBeginUnCheck);
  • FTree.OnCanEdit +=new OnCanEditDelegate(FTree_OnCanEdit);
  • FTree.OnGetNodeText +=new OnGetNodeTextDelegate(FTree_OnGetNodeText);
  • for(int i = 0; i < 10; i++)
  • {
  • INode n = FTree.Add(null, new DataNode(i));
  • if (i % 2 == 0)
  • n.State |= NodeState.HasCheck;
  • n.Text = "Node " + i.ToString();
  • for(int j = 0; j < 10; j++)
  • {
  • INode n1 = FTree.Add(n, new DataNode(j));
  • if (j % 2 == 0)
  • n1.State |= NodeState.HasCheck;
  • n1.Text = "Node " + i.ToString() + j.ToString();
  • if (i== 2 && j == 2)
  • n1.State |= NodeState.Signaled;
  • if (j == 9)
  • FTree.SetVisibleNode(n1, false);
  • //n1.State &= ~NodeState.Visible;
  • }
  • GeniusTreeViewColonne col = FTree.Header.Add();
  • col.Titre = "Colonne : " + i.ToString();
  • if (i == 0)
  • {
  • col.BackColor = new GeniusLinearGradientBrush(Color.FromArgb(247,247,247));
  • }
  • else if (i % 2 == 0)
  • col.BackColor = new GeniusLinearGradientBrush(Color.White, Color.LightBlue, 90);
  • else
  • col.BackColor = new GeniusLinearGradientBrush(Color.Beige);
  • }
  • }
  • finally
  • {
  • FTree.EndUpdate();
  • }
  • }
  • private void cbShowHeader_CheckedChanged(object sender, EventArgs e)
  • {
  • FTree.ShowHeader = cbShowHeader.Checked;
  • }
  • private void cbShowTreeLines_CheckedChanged(object sender, EventArgs e)
  • {
  • if (cbShowTreeLines.Checked)
  • FTree.PaintOptions |= PaintOptionsEnum.ShowTreeLines;
  • else
  • FTree.PaintOptions &= (~PaintOptionsEnum.ShowTreeLines);
  • }
  • private void cbGridLine_CheckedChanged(object sender, EventArgs e)
  • {
  • if (cbHGridLine.Checked)
  • FTree.PaintOptions |= (PaintOptionsEnum.ShowHorzGridLines);
  • else
  • FTree.PaintOptions &= ~(PaintOptionsEnum.ShowHorzGridLines);
  • }
  • private void cbuseColumns_CheckedChanged(object sender, EventArgs e)
  • {
  • FTree.UseColumns = cbuseColumns.Checked;
  • }
  • private void ColonneClick(object sender, EventArgs e)
  • {
  • string aText = (sender as MenuItem).Text;
  • (sender as MenuItem).Checked = !(sender as MenuItem).Checked;
  • aText = aText.Substring(8);
  • int aIndex = int.Parse(aText);
  • FTree.Header[aIndex].Visible = (sender as MenuItem).Checked;
  • }
  • private void FTree_OnBeginCheck(GeniusTreeView Sender, CheckEventArgs e)
  • {
  • e.CanCheck = cbCanCheck.Checked;
  • }
  • private void FTree_OnBeginCollapse(GeniusTreeView Sender, CollapseEventArgs e)
  • {
  • }
  • private void FTree_OnBeginExpand(GeniusTreeView Sender, ExpandEventArgs e)
  • {
  • }
  • private void FTree_OnBeginUnCheck(GeniusTreeView Sender, UnCheckEventArgs e)
  • {
  • e.CanUnCheck = cbCanUncheck.Checked;
  • }
  • private void FTree_OnCanEdit(GeniusTreeView Sender, CanEditEventArgs e)
  • {
  • e.CanEdit = cbCanEdit.Checked;
  • }
  • private void label1_DragEnter(object sender, System.Windows.Forms.DragEventArgs e)
  • {
  • e.Effect = DragDropEffects.Copy;
  • Debug.WriteLine("label1_drageenter = " + e.Effect.ToString() + ":" + e.AllowedEffect.ToString());
  • }
  • private void label1_DragOver(object sender, System.Windows.Forms.DragEventArgs e)
  • {
  • e.Effect = DragDropEffects.Copy;
  • }
  • private void label1_GiveFeedback(object sender, System.Windows.Forms.GiveFeedbackEventArgs e)
  • {
  • Debug.WriteLine("label1_givefeedback = " + e.Effect.ToString());
  • //e.Effect = DragDropEffects.Link;
  • }
  • private void label1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
  • {
  • label1.DoDragDrop(label1, DragDropEffects.All);
  • }
  • private void FTree_KeyDown(object sender, KeyEventArgs e)
  • {
  • if (e.KeyCode == Keys.Delete)
  • {
  • FTree.Delete(FTree.SelectedNode);
  • }
  • }
  • private void FTree_OnGetNodeText(GeniusTreeView Sender, NodeTextEventArgs e)
  • {
  • if (e.ColIndex == 1)
  • {
  • e.Text = ((DataNode)e.Node.Data).Index.ToString();
  • }
  • }
  • private void cbVGridLine_CheckedChanged(object sender, System.EventArgs e)
  • {
  • if (cbVGridLine.Checked)
  • FTree.PaintOptions |= (PaintOptionsEnum.ShowVertGridLines);
  • else
  • FTree.PaintOptions &= ~(PaintOptionsEnum.ShowVertGridLines);
  • }
  • }
  • class DataNode
  • {
  • public int Index;
  • public DataNode(int n)
  • {
  • Index = n;
  • }
  • }
  • }
Exemple d'utilisation

using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Drawing;
using System.Windows.Forms;

namespace Genius.Controls
{
	/// <summary>
	/// Summary description for DemoTreeView.
	/// </summary>
	public class DemoTreeView : Form
	{
		private GeniusTreeView FTree;

		private Panel panel1;
		private Splitter splitter1;
		private Panel pnlTreeview;
		private CheckBox cbShowHeader;
		private CheckBox cbShowTreeLines;
		private CheckBox cbuseColumns;
		private ContextMenu contextMenu1;
		private MenuItem menuItem10;
		private MenuItem menuItem11;
		private MenuItem menuItem12;
		private MenuItem menuItem13;
		private MenuItem menuItem14;
		private MenuItem menuItem15;
		private MenuItem menuItem16;
		private MenuItem menuItem17;
		private MenuItem menuItem18;
		private MenuItem menuItem19;
		private MenuItem menuItem20;
		private CheckBox cbCanEdit;
		private CheckBox cbCanCheck;
		private CheckBox cbCanUncheck;
		private CheckBox checkBox4;
		private System.Windows.Forms.Label label1;
		private System.Windows.Forms.CheckBox cbHGridLine;
		private System.Windows.Forms.CheckBox cbVGridLine;
		/// <summary>
		/// Required designer variable.
		/// </summary>
		private Container components = null;

		public DemoTreeView()
		{
			//
			// Required for Windows Form Designer support
			//
			InitializeComponent();

			//
			// TODO: Add any constructor code after InitializeComponent call
			//
		}

		/// <summary>
		/// Clean up any resources being used.
		/// </summary>
		protected override void Dispose( bool disposing )
		{
			if( disposing )
			{
				if(components != null)
				{
					components.Dispose();
				}
			}
			base.Dispose( disposing );
		}

		#region Windows Form Designer generated code
		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		private void InitializeComponent()
		{
			this.panel1 = new System.Windows.Forms.Panel();
			this.cbVGridLine = new System.Windows.Forms.CheckBox();
			this.label1 = new System.Windows.Forms.Label();
			this.checkBox4 = new System.Windows.Forms.CheckBox();
			this.cbCanUncheck = new System.Windows.Forms.CheckBox();
			this.cbCanCheck = new System.Windows.Forms.CheckBox();
			this.cbCanEdit = new System.Windows.Forms.CheckBox();
			this.cbuseColumns = new System.Windows.Forms.CheckBox();
			this.cbHGridLine = new System.Windows.Forms.CheckBox();
			this.cbShowTreeLines = new System.Windows.Forms.CheckBox();
			this.cbShowHeader = new System.Windows.Forms.CheckBox();
			this.splitter1 = new System.Windows.Forms.Splitter();
			this.pnlTreeview = new System.Windows.Forms.Panel();
			this.contextMenu1 = new System.Windows.Forms.ContextMenu();
			this.menuItem10 = new System.Windows.Forms.MenuItem();
			this.menuItem20 = new System.Windows.Forms.MenuItem();
			this.menuItem11 = new System.Windows.Forms.MenuItem();
			this.menuItem12 = new System.Windows.Forms.MenuItem();
			this.menuItem13 = new System.Windows.Forms.MenuItem();
			this.menuItem14 = new System.Windows.Forms.MenuItem();
			this.menuItem15 = new System.Windows.Forms.MenuItem();
			this.menuItem16 = new System.Windows.Forms.MenuItem();
			this.menuItem17 = new System.Windows.Forms.MenuItem();
			this.menuItem18 = new System.Windows.Forms.MenuItem();
			this.menuItem19 = new System.Windows.Forms.MenuItem();
			this.panel1.SuspendLayout();
			this.SuspendLayout();
			// 
			// panel1
			// 
			this.panel1.Controls.Add(this.cbVGridLine);
			this.panel1.Controls.Add(this.label1);
			this.panel1.Controls.Add(this.checkBox4);
			this.panel1.Controls.Add(this.cbCanUncheck);
			this.panel1.Controls.Add(this.cbCanCheck);
			this.panel1.Controls.Add(this.cbCanEdit);
			this.panel1.Controls.Add(this.cbuseColumns);
			this.panel1.Controls.Add(this.cbHGridLine);
			this.panel1.Controls.Add(this.cbShowTreeLines);
			this.panel1.Controls.Add(this.cbShowHeader);
			this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
			this.panel1.Location = new System.Drawing.Point(0, 0);
			this.panel1.Name = "panel1";
			this.panel1.Size = new System.Drawing.Size(520, 72);
			this.panel1.TabIndex = 0;
			// 
			// cbVGridLine
			// 
			this.cbVGridLine.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
			this.cbVGridLine.Location = new System.Drawing.Point(16, 56);
			this.cbVGridLine.Name = "cbVGridLine";
			this.cbVGridLine.Size = new System.Drawing.Size(103, 16);
			this.cbVGridLine.TabIndex = 9;
			this.cbVGridLine.Text = "ShowGridlines ?";
			this.cbVGridLine.CheckedChanged += new System.EventHandler(this.cbVGridLine_CheckedChanged);
			// 
			// label1
			// 
			this.label1.AllowDrop = true;
			this.label1.Location = new System.Drawing.Point(392, 24);
			this.label1.Name = "label1";
			this.label1.TabIndex = 8;
			this.label1.Text = "Drag or Drop";
			this.label1.GiveFeedback += new System.Windows.Forms.GiveFeedbackEventHandler(this.label1_GiveFeedback);
			this.label1.DragEnter += new System.Windows.Forms.DragEventHandler(this.label1_DragEnter);
			this.label1.DragOver += new System.Windows.Forms.DragEventHandler(this.label1_DragOver);
			this.label1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.label1_MouseDown);
			// 
			// checkBox4
			// 
			this.checkBox4.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
			this.checkBox4.Location = new System.Drawing.Point(216, 8);
			this.checkBox4.Name = "checkBox4";
			this.checkBox4.Size = new System.Drawing.Size(104, 16);
			this.checkBox4.TabIndex = 7;
			this.checkBox4.Text = "usecolumns ?";
			// 
			// cbCanUncheck
			// 
			this.cbCanUncheck.Checked = true;
			this.cbCanUncheck.CheckState = System.Windows.Forms.CheckState.Checked;
			this.cbCanUncheck.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
			this.cbCanUncheck.Location = new System.Drawing.Point(216, 48);
			this.cbCanUncheck.Name = "cbCanUncheck";
			this.cbCanUncheck.Size = new System.Drawing.Size(104, 16);
			this.cbCanUncheck.TabIndex = 6;
			this.cbCanUncheck.Text = "CanUncheck";
			// 
			// cbCanCheck
			// 
			this.cbCanCheck.Checked = true;
			this.cbCanCheck.CheckState = System.Windows.Forms.CheckState.Checked;
			this.cbCanCheck.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
			this.cbCanCheck.Location = new System.Drawing.Point(120, 48);
			this.cbCanCheck.Name = "cbCanCheck";
			this.cbCanCheck.Size = new System.Drawing.Size(104, 16);
			this.cbCanCheck.TabIndex = 5;
			this.cbCanCheck.Text = "CanCheck";
			// 
			// cbCanEdit
			// 
			this.cbCanEdit.Checked = true;
			this.cbCanEdit.CheckState = System.Windows.Forms.CheckState.Checked;
			this.cbCanEdit.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
			this.cbCanEdit.Location = new System.Drawing.Point(120, 28);
			this.cbCanEdit.Name = "cbCanEdit";
			this.cbCanEdit.Size = new System.Drawing.Size(104, 16);
			this.cbCanEdit.TabIndex = 4;
			this.cbCanEdit.Text = "CanEdit";
			// 
			// cbuseColumns
			// 
			this.cbuseColumns.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
			this.cbuseColumns.Location = new System.Drawing.Point(120, 8);
			this.cbuseColumns.Name = "cbuseColumns";
			this.cbuseColumns.Size = new System.Drawing.Size(104, 16);
			this.cbuseColumns.TabIndex = 3;
			this.cbuseColumns.Text = "usecolumns ?";
			this.cbuseColumns.CheckedChanged += new System.EventHandler(this.cbuseColumns_CheckedChanged);
			// 
			// cbHGridLine
			// 
			this.cbHGridLine.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
			this.cbHGridLine.Location = new System.Drawing.Point(16, 40);
			this.cbHGridLine.Name = "cbHGridLine";
			this.cbHGridLine.Size = new System.Drawing.Size(104, 16);
			this.cbHGridLine.TabIndex = 2;
			this.cbHGridLine.Text = "ShowGridlines ?";
			this.cbHGridLine.CheckedChanged += new System.EventHandler(this.cbGridLine_CheckedChanged);
			// 
			// cbShowTreeLines
			// 
			this.cbShowTreeLines.Checked = true;
			this.cbShowTreeLines.CheckState = System.Windows.Forms.CheckState.Checked;
			this.cbShowTreeLines.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
			this.cbShowTreeLines.Location = new System.Drawing.Point(16, 24);
			this.cbShowTreeLines.Name = "cbShowTreeLines";
			this.cbShowTreeLines.Size = new System.Drawing.Size(112, 16);
			this.cbShowTreeLines.TabIndex = 1;
			this.cbShowTreeLines.Text = "ShowTreeLines ?";
			this.cbShowTreeLines.CheckedChanged += new System.EventHandler(this.cbShowTreeLines_CheckedChanged);
			// 
			// cbShowHeader
			// 
			this.cbShowHeader.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
			this.cbShowHeader.Location = new System.Drawing.Point(16, 8);
			this.cbShowHeader.Name = "cbShowHeader";
			this.cbShowHeader.Size = new System.Drawing.Size(104, 16);
			this.cbShowHeader.TabIndex = 0;
			this.cbShowHeader.Text = "ShowHeader ?";
			this.cbShowHeader.CheckedChanged += new System.EventHandler(this.cbShowHeader_CheckedChanged);
			// 
			// splitter1
			// 
			this.splitter1.Dock = System.Windows.Forms.DockStyle.Top;
			this.splitter1.Location = new System.Drawing.Point(0, 72);
			this.splitter1.Name = "splitter1";
			this.splitter1.Size = new System.Drawing.Size(520, 3);
			this.splitter1.TabIndex = 1;
			this.splitter1.TabStop = false;
			// 
			// pnlTreeview
			// 
			this.pnlTreeview.Dock = System.Windows.Forms.DockStyle.Fill;
			this.pnlTreeview.Location = new System.Drawing.Point(0, 75);
			this.pnlTreeview.Name = "pnlTreeview";
			this.pnlTreeview.Size = new System.Drawing.Size(520, 322);
			this.pnlTreeview.TabIndex = 2;
			// 
			// contextMenu1
			// 
			this.contextMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
																						 this.menuItem10});
			// 
			// menuItem10
			// 
			this.menuItem10.Index = 0;
			this.menuItem10.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
																					   this.menuItem20,
																					   this.menuItem11,
																					   this.menuItem12,
																					   this.menuItem13,
																					   this.menuItem14,
																					   this.menuItem15,
																					   this.menuItem16,
																					   this.menuItem17,
																					   this.menuItem18,
																					   this.menuItem19});
			this.menuItem10.Text = "&Voir";
			// 
			// menuItem20
			// 
			this.menuItem20.Checked = true;
			this.menuItem20.Index = 0;
			this.menuItem20.Text = "Colonne 0";
			this.menuItem20.Click += new System.EventHandler(this.ColonneClick);
			// 
			// menuItem11
			// 
			this.menuItem11.Checked = true;
			this.menuItem11.Index = 1;
			this.menuItem11.Text = "Colonne 1";
			this.menuItem11.Click += new System.EventHandler(this.ColonneClick);
			// 
			// menuItem12
			// 
			this.menuItem12.Checked = true;
			this.menuItem12.Index = 2;
			this.menuItem12.Text = "Colonne 2";
			this.menuItem12.Click += new System.EventHandler(this.ColonneClick);
			// 
			// menuItem13
			// 
			this.menuItem13.Checked = true;
			this.menuItem13.Index = 3;
			this.menuItem13.Text = "Colonne 3";
			this.menuItem13.Click += new System.EventHandler(this.ColonneClick);
			// 
			// menuItem14
			// 
			this.menuItem14.Checked = true;
			this.menuItem14.Index = 4;
			this.menuItem14.Text = "Colonne 4";
			this.menuItem14.Click += new System.EventHandler(this.ColonneClick);
			// 
			// menuItem15
			// 
			this.menuItem15.Checked = true;
			this.menuItem15.Index = 5;
			this.menuItem15.Text = "Colonne 5";
			this.menuItem15.Click += new System.EventHandler(this.ColonneClick);
			// 
			// menuItem16
			// 
			this.menuItem16.Checked = true;
			this.menuItem16.Index = 6;
			this.menuItem16.Text = "Colonne 6";
			this.menuItem16.Click += new System.EventHandler(this.ColonneClick);
			// 
			// menuItem17
			// 
			this.menuItem17.Checked = true;
			this.menuItem17.Index = 7;
			this.menuItem17.Text = "Colonne 7";
			this.menuItem17.Click += new System.EventHandler(this.ColonneClick);
			// 
			// menuItem18
			// 
			this.menuItem18.Checked = true;
			this.menuItem18.Index = 8;
			this.menuItem18.Text = "Colonne 8";
			this.menuItem18.Click += new System.EventHandler(this.ColonneClick);
			// 
			// menuItem19
			// 
			this.menuItem19.Checked = true;
			this.menuItem19.Index = 9;
			this.menuItem19.Text = "Colonne 9";
			this.menuItem19.Click += new System.EventHandler(this.ColonneClick);
			// 
			// DemoTreeView
			// 
			this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
			this.BackColor = System.Drawing.SystemColors.Control;
			this.ClientSize = new System.Drawing.Size(520, 397);
			this.Controls.Add(this.pnlTreeview);
			this.Controls.Add(this.splitter1);
			this.Controls.Add(this.panel1);
			this.Name = "DemoTreeView";
			this.Text = "DemoTreeView";
			this.Load += new System.EventHandler(this.DemoTreeView_Load);
			this.panel1.ResumeLayout(false);
			this.ResumeLayout(false);

		}
		#endregion

		private void DemoTreeView_Load(object sender, EventArgs e)
		{
			
			FTree = new GeniusTreeView();
			FTree.KeyDown +=new KeyEventHandler(FTree_KeyDown);
			FTree.AllowDrop = true;
			FTree.ContextMenu = this.contextMenu1;
			FTree.Dock = DockStyle.Fill;
			this.pnlTreeview.Controls.Add(FTree);
			FTree.BeginUpdate();
			try
			{
				FTree.OnBeginCheck +=new OnCheckDelegate(FTree_OnBeginCheck);
				FTree.OnBeginCollapse +=new OnCollapseDelegate(FTree_OnBeginCollapse);
				FTree.OnBeginExpand +=new OnExpandDelegate(FTree_OnBeginExpand);
				FTree.OnBeginUnCheck +=new OnUnCheckDelegate(FTree_OnBeginUnCheck);
				FTree.OnCanEdit +=new OnCanEditDelegate(FTree_OnCanEdit);
				FTree.OnGetNodeText +=new OnGetNodeTextDelegate(FTree_OnGetNodeText);
				for(int i = 0; i < 10; i++)
				{
					INode n = FTree.Add(null, new DataNode(i));
					if (i % 2 == 0)
						n.State |= NodeState.HasCheck;
					n.Text = "Node " + i.ToString();
					for(int j = 0; j < 10; j++)
					{
						INode n1 = FTree.Add(n, new DataNode(j));
						if (j % 2 == 0)
							n1.State |= NodeState.HasCheck;
						n1.Text = "Node " + i.ToString() + j.ToString();
						if (i== 2 && j == 2)
							n1.State |= NodeState.Signaled;
						if (j == 9)
							FTree.SetVisibleNode(n1, false);
							//n1.State &= ~NodeState.Visible;
					}
					GeniusTreeViewColonne col = FTree.Header.Add();
					col.Titre = "Colonne : " + i.ToString();
					if (i == 0)
					{
						col.BackColor = new GeniusLinearGradientBrush(Color.FromArgb(247,247,247));						
					}
					else if (i % 2 == 0)
						col.BackColor = new GeniusLinearGradientBrush(Color.White, Color.LightBlue, 90);
					else
						col.BackColor = new GeniusLinearGradientBrush(Color.Beige);
				}
			}
			finally
			{
				FTree.EndUpdate();
			}
		}

		private void cbShowHeader_CheckedChanged(object sender, EventArgs e)
		{
			FTree.ShowHeader = cbShowHeader.Checked;
		}

		private void cbShowTreeLines_CheckedChanged(object sender, EventArgs e)
		{
			if (cbShowTreeLines.Checked)
				FTree.PaintOptions |= PaintOptionsEnum.ShowTreeLines;
			else
				FTree.PaintOptions &= (~PaintOptionsEnum.ShowTreeLines);
		}

		private void cbGridLine_CheckedChanged(object sender, EventArgs e)
		{
			if (cbHGridLine.Checked)
				FTree.PaintOptions |= (PaintOptionsEnum.ShowHorzGridLines);
			else
				FTree.PaintOptions &= ~(PaintOptionsEnum.ShowHorzGridLines);
		}

		private void cbuseColumns_CheckedChanged(object sender, EventArgs e)
		{
			FTree.UseColumns = cbuseColumns.Checked;
		}

		private void ColonneClick(object sender, EventArgs e)
		{
			string aText = (sender as MenuItem).Text;
			(sender as MenuItem).Checked = !(sender as MenuItem).Checked;
			aText = aText.Substring(8);
			int aIndex = int.Parse(aText);
			FTree.Header[aIndex].Visible = (sender as MenuItem).Checked;
		}

		private void FTree_OnBeginCheck(GeniusTreeView Sender, CheckEventArgs e)
		{
			e.CanCheck = cbCanCheck.Checked;
		}

		private void FTree_OnBeginCollapse(GeniusTreeView Sender, CollapseEventArgs e)
		{

		}

		private void FTree_OnBeginExpand(GeniusTreeView Sender, ExpandEventArgs e)
		{

		}

		private void FTree_OnBeginUnCheck(GeniusTreeView Sender, UnCheckEventArgs e)
		{
			e.CanUnCheck = cbCanUncheck.Checked;
		}

		private void FTree_OnCanEdit(GeniusTreeView Sender, CanEditEventArgs e)
		{
			e.CanEdit = cbCanEdit.Checked;
		}

		private void label1_DragEnter(object sender, System.Windows.Forms.DragEventArgs e)
		{

			e.Effect = DragDropEffects.Copy;
			Debug.WriteLine("label1_drageenter = " + e.Effect.ToString() + ":" + e.AllowedEffect.ToString());
		}

		private void label1_DragOver(object sender, System.Windows.Forms.DragEventArgs e)
		{
			e.Effect = DragDropEffects.Copy;
		}

		private void label1_GiveFeedback(object sender, System.Windows.Forms.GiveFeedbackEventArgs e)
		{
			Debug.WriteLine("label1_givefeedback = " + e.Effect.ToString());
			//e.Effect = DragDropEffects.Link;
		}

		private void label1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
		{
			label1.DoDragDrop(label1, DragDropEffects.All);
		}

		private void FTree_KeyDown(object sender, KeyEventArgs e)
		{
			if (e.KeyCode == Keys.Delete)
			{
				FTree.Delete(FTree.SelectedNode);
			}
		}

		private void FTree_OnGetNodeText(GeniusTreeView Sender, NodeTextEventArgs e)
		{
			if (e.ColIndex == 1)
			{
				e.Text = ((DataNode)e.Node.Data).Index.ToString();
			}
		}

		private void cbVGridLine_CheckedChanged(object sender, System.EventArgs e)
		{
			if (cbVGridLine.Checked)
				FTree.PaintOptions |= (PaintOptionsEnum.ShowVertGridLines);
			else
				FTree.PaintOptions &= ~(PaintOptionsEnum.ShowVertGridLines);
		}
	}
	class DataNode
	{
		public int Index;
		public DataNode(int n)
		{
			Index = n;
		}
	}
}

Conclusion

cette version 0.1.6
- le drag'n drop conserve encore quelques bugs
- pas de multi-selection

nb: les sources seront disponible lors de la version 1.0

une version beaucoup plus récente se trouve sur codeplex :
http://www.codeplex.com/geniustreeview/

 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • Genius.Controls.dllTélécharger ce fichier [Réservé aux membres club]126 976 octets

Télécharger le zip

Historique

05 mai 2008 21:50:00 :
mis à jour du lien vers codeplex http://www.codeplex.com/geniustreeview/

Commentaires et avis

signaler à un administrateur
Commentaire de scoubidou944 le 02/01/2005 03:28:57

et Elle sera la quand ?

j'avais déjà adapté qql chose de similaire mais moins poussé sur :
http://www.csharpfr.com/code.aspx?id=27623

signaler à un administrateur
Commentaire de scoubidou944 le 02/01/2005 03:30:48

tiens pdt que J pense, parce que moi ca bug et c pas mon truc d'écrire des composants, on peut rajouter des progress bar ou combo box dans un Node ou item ?

Et un truc bete mais qui peut servir lorsque l'on peut pas avoir assez de place dans le titre de la colonne, le rajout d'une icone

;p

signaler à un administrateur
Commentaire de scoubidou944 le 02/01/2005 03:35:46

il manque dans le zip juste après le constructeur 'DemoTreeView':

/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new DemoTreeView());
}

en  tout cas je dis bravo C impressionnant comme travail.

signaler à un administrateur
Commentaire de geniusishere le 02/01/2005 11:37:31

tes propositions sont les bienvenues....

Via l'interface ITreeViewEdit, on peut mettre n'importe quel composant pour l'édition

chaque "cellule" étant redessinable, on peut aussi y dessiner une barre de progression

j'ai écris un petit article sur ce treeview
http://blogs.developpeur.org/pierrick/archive/2005/01/01/3855.aspx

et pour répondre à ta première question, la version 1.0 pour quand ?
je n'ai pas de "dead line", mais en 2005 je pense. Je developpe ce composant sur mon temps libre ;-)

signaler à un administrateur
Commentaire de scoubidou944 le 02/01/2005 13:15:47

il est génial ce composant, j'v foutre le mien à la poubelle car il bug trop, j'aurais juste besoin d'un truc,
c pouvoir définir le champ ForeColor pour chaque cellule.

Pdt que J pense, la c purement avis perso mais avec l'héritage, je trouve un peu choquant d'avori des methodes en français et d'autre en anglais. Tout le monde est habitué en tant que développeur à 'pisser' du code anglais ;p

signaler à un administrateur
Commentaire de ypikai le 25/02/2005 11:17:27

Est il possible avec ton composant d'interdire à l'utilisateur de sélectionner les libellés des noeuds ?

Et aussi d'interdire totalement le Drag N Drop ?
Merki

signaler à un administrateur
Commentaire de cricri67 le 25/02/2005 11:49:56

Je suis super débutant en C#.
Comment tu fais pour récupérer le texte du node sélectionné ??

signaler à un administrateur
Commentaire de scoubidou944 le 25/02/2005 19:17:20

voici la derniere version :

http://www.gotdotnet.com/Workspaces/Workspace.aspx?id=7ef34d38-d86e-497d-bc15-33edc8826729

avec le Blog du createur ;p
http://blogs.developpeur.org/pierrick/archive/2005/02/19/4700.aspx

signaler à un administrateur
Commentaire de geniusishere le 25/02/2005 21:21:34

cool scoubidou944,

je plus rien à faire....

signaler à un administrateur
Commentaire de scoubidou944 le 01/03/2005 18:16:30

Je dirais juste que la 0.7 es t sortie ;p

par contre, les noms de fonction mélangé Fr / Anglais, je trouve tjs ca bof bof
Je dirais meme que c'est l'enfer. On a tous l'habitude d'écrire du code en anglais, donc au lieu de chercher .Text, on doit chercher .Titre...

Pitié......

signaler à un administrateur
Commentaire de geniusishere le 01/03/2005 19:35:22

je suis d'accord, je vais homogénéiser tout ça !!

signaler à un administrateur
Commentaire de georgeduke le 29/05/2005 09:53:32

Sniiiiiif ! Si quelqu'un a réussi à compiler cette source avec SharpDevelop... moi je n'y arrive pas, j'ai une compilation avec 0 erreur et 0 avertissement mais juste après j'ai une erreur du Common Language Runtime Debugging Services qui m'invite à terminer l'appli :-(
Dommage cette source avait l'air plus qu'interessante...

signaler à un administrateur
Commentaire de BinItsMeKoi le 05/05/2008 11:52:27

Bonjour à tous,
C'est quand même bizarre qu'on doit se faire faire un treeview à colonne. C'est mal pensé tout ça.
Je voudrais signaler que sous vista ce treeview ne marche pas !! Apparemment ça serait le framework qui plante.
une idée ?

signaler à un administrateur
Commentaire de geniusishere le 05/05/2008 21:46:56

Bonsoir,

Effectivement cette version date un peu, mais il est plus à jour ici : http://www.codeplex.com/geniustreeview/

signaler à un administrateur
Commentaire de yanildo le 06/05/2008 11:56:43 5/10

Bonjour,
je n'arrive pas à afficher un treeview. peut tu me donner une petite aide. merci!

signaler à un administrateur
Commentaire de geniusishere le 06/05/2008 21:51:14

la question est vague....

1) arrives-tu à executer la demo de la version 2.0 (http://www.codeplex.com/geniustreeview/)

signaler à un administrateur
Commentaire de yanildo le 12/05/2008 16:00:12

voila, déjà lors de la compilation du projet j'ai cela comme erreur :

Error 3 The command "copy Genius.Controls.dll C:\Documents and Settings\yanildo\Desktop\genius\DemoTreeView\lib\Debug" exited with code 1. Genius.Controls


De plus j'ai un warning
Warning 1 'System.AppDomain.GetCurrentThreadId()' is obsolete: 'AppDomain.GetCurrentThreadId has been deprecated because it does not provide a stable Id when managed threads are running on fibers (aka lightweight threads). To get a stable identifier for a managed thread, use the ManagedThreadId property on Thread.  http://go.microsoft.com/fwlink/?linkid=14202' C:\Documents and Settings\ygraven\Desktop\genius\Genius.Controls\TreeView\Editors\GeniusTreeViewEditor.cs 227 95 Genius.Controls

merci

signaler à un administrateur
Commentaire de yanildo le 12/05/2008 16:34:55

J'ai réglé l'erreur mais le gros problème c'est que je ne peux pas afficher les composants en mode design car il n'arrive pas a convertir les objets 'Genius.Controls.GeniusLinearGradientBrush' en type 'System.Drawing.Color'.


Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Listview et dotnet (application smartdevices csharp) [ par medisi ] Y'a t il une solution pour que listview accepte des couleur (BackgroundColor,ForeColor)dans une application smartdevices (pocket pc).Merci pour votre Csharp treeView [ par sympatie0 ] Salut à tous,   je suis debutante Csharp et je voudrai savoir comment faire pour utiliser le controle treeView pr afficher les disques locaux et mes d treeView+nom de la session [ par sympatie0 ] Salut à tous,      Dans le but de construire un treeView afin de donner la possibilité à l'utilisateur de localiser l'emplacement de son dossier sacha recupere last_insert_id avec mysql en csharp [ par olibara ] BonjourQuelqu'un  sait-il comment depuis cSharp je peux utiliser la commandeselect Last_insert_id() de mysqlPour recuperer cet ID Drag & Drop de ListView a TreeView [ par gbourgeois0019 ] Bonjour à tous,   J'ai un petit problème que je n'arrive pas à résoudre. J'ai fait des recherches un peu partout mais je n'arrive pas à trouver ce que [WPF] Récupérer le Parent d'un SelectedItem d'un Treeview bindé? [ par Chris_LaFouine ] Bonjour,Je suis en train de migrer une de mes applis perso en .NET 3.5 avec interface en XAML et je suis bloqué!Ce que je cherche à faire :Récupérer l treeview [ par verbeyst ] J'aimerais implémenter  un treeview  qui remplirait les mêmes fonctionnalités l'explorateur windows version simplifiée. En d'autres termes je voudrais Création de node dans un Treeview?? [ par motardazerty ] Bon bah je crois que tout est dit dans le titre, je le répète quand même:Donc je voudrais créer des Nodes dans un treeView (enfant/parent).Es ce que q redimentionner les images du TreeView [ par __salwa ] Bonjour tout le monde, J'ai un treeview qui affiche de images en utilisant un objet ImageList. je voudrai savoir s'il ya un moyen de redimentionner Framework dotnet [ par GBadry ] Salut encore une fois les amis,lorsque je déploie un projet et que je l'installe sur une autre machine, normalement toutes les dépendances du projet y


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,842 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.