private void Children_ItemAdded(object sender, AddTreeNodeEventArgs e) { //if (e.NewItem.Parent == null) //{ // int index = this.scene.RootObject.Children.IndexOf(e.NewItem); // var node = new TreeNode(e.NewItem.ToString()); // node.Tag = e.NewItem; // e.NewItem.Tag = node; // this.treeView1.Nodes.Insert(index, node); //} //else { int index = e.NewItem.Parent.Children.IndexOf(e.NewItem); var node = new TreeNode(e.NewItem.ToString()); node.Tag = e.NewItem; (e.NewItem as TreeNode).Tag = node; ((e.NewItem.Parent as TreeNode).Tag as TreeNode).Nodes.Insert(index, node); } }
/// <summary>Event handler. Called by shellTreeView1 when a treenode is added. /// It sets the ImageIndex and SelectedImageIndex to use images that have been added to the ImageList that has been assigned to the <see cref="ShellTreeView.CustomImages"/> property.</summary> /// <param name="sender">Source of the event.</param> /// <param name="e">Holds information on the TreeNode.</param> private void shellTreeView1_AddTreeNode(object sender, AddTreeNodeEventArgs e) { // The following code removes the Icon for root nodes. // if (e.ParentNode == null) // { // e.Node.ImageIndex = e.Node.SelectedImageIndex = shellTreeView1.EmptyIconIndex; // return; // } switch (e.Node.SpecialFolder) { case ShellFolder.Desktop: case ShellFolder.DesktopDirectory: e.Node.ImageIndex = e.Node.SelectedImageIndex = shellTreeView1.ImageList.Images.IndexOfKey("desktop.png"); break; case ShellFolder.Drives: e.Node.ImageIndex = e.Node.SelectedImageIndex = shellTreeView1.ImageList.Images.IndexOfKey("monitor.png"); break; case ShellFolder.UsersFiles: e.Node.ImageIndex = e.Node.SelectedImageIndex = shellTreeView1.ImageList.Images.IndexOfKey("user.png"); break; case ShellFolder.Network: e.Node.ImageIndex = e.Node.SelectedImageIndex = shellTreeView1.ImageList.Images.IndexOfKey("folder_network.png"); break; case ShellFolder.Documents: case ShellFolder.Personal: case ShellFolder.DocumentsLibrary: e.Node.ImageIndex = e.Node.SelectedImageIndex = shellTreeView1.ImageList.Images.IndexOfKey("folder_document.png"); break; case ShellFolder.CommonMusic: case ShellFolder.MusicLibrary: case ShellFolder.MyMusic: e.Node.ImageIndex = e.Node.SelectedImageIndex = shellTreeView1.ImageList.Images.IndexOfKey("folder_music.png"); break; case ShellFolder.VideosLibrary: case ShellFolder.CommonVideo: case ShellFolder.MyVideo: e.Node.ImageIndex = e.Node.SelectedImageIndex = shellTreeView1.ImageList.Images.IndexOfKey("folder_movie.png"); break; case ShellFolder.PicturesLibrary: case ShellFolder.MyPictures: case ShellFolder.CommonPictures: e.Node.ImageIndex = e.Node.SelectedImageIndex = shellTreeView1.ImageList.Images.IndexOfKey("flower.png"); break; default: break; } }