• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 533
  • Last Modified:

File/folder treeview... c#

I am following the link below to create file/folder treeview similar to file explore:
http://msdn.microsoft.com/en-us/library/ms171645%28v=vs.80%29.aspx

At the very end it says:

"If you are using C#, make sure you have the NodeMouseClick event associated with its event-handling method."

this.treeView1.NodeMouseClick +=
    new TreeNodeMouseClickEventHandler(this.treeView1_NodeMouseClick);

Question: How and where should I apply this?

Also, I am getting the following error:
'FilesAndFolderInTreeView.Form1' does not contain a definition for 'splitContainer1_Panel2_Paint' and no extension method 'splitContainer1_Panel2_Paint' accepting a first argument of type 'FilesAndFolderInTreeView.Form1' could be found (are you missing a using directive or an assembly reference?)
0
Mike Eghtebas
Asked:
Mike Eghtebas
  • 4
  • 2
1 Solution
 
Fernando SotoRetiredCommented:
Hi eghtebas;

When you place the TreeView on the form through the designer you can add the event for treeView1_NodeMouseClick through the Properties Window, click on the event handler icon to display all the events and and if you already have the handler code in place you can use the dropdown next to the event name and select it. Otherwise you can place this line of code as shown below.
public Form1()
{
    InitializeComponent();
    PopulateTreeView();
    this.treeView1.NodeMouseClick += new TreeNodeMouseClickEventHandler(this.treeView1_NodeMouseClick);
}

Open in new window

As far as the error your getting can you post the code as is in your project and where you are getting the error.
0
 
Mike EghtebasDatabase and Application DeveloperAuthor Commented:
Please see line 75 where error occurs:
namespace FilesAndFolderInTreeView
{
    partial class Form1
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (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.components = new System.ComponentModel.Container();
            this.label1 = new System.Windows.Forms.Label();
            this.splitContainer1 = new System.Windows.Forms.SplitContainer();
            this.txtDirectory = new System.Windows.Forms.TextBox();
            this.chkIncludeSubFolders = new System.Windows.Forms.CheckedListBox();
            this.btnGetFiles = new System.Windows.Forms.Button();
            this.imageList1 = new System.Windows.Forms.ImageList(this.components);
            this.treeView1 = new System.Windows.Forms.TreeView();
            this.listView1 = new System.Windows.Forms.ListView();
            this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
            this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
            this.columnHeader3 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
            ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
            this.splitContainer1.Panel1.SuspendLayout();
            this.splitContainer1.Panel2.SuspendLayout();
            this.splitContainer1.SuspendLayout();
            this.SuspendLayout();
            // 
            // label1
            // 
            this.label1.AutoSize = true;
            this.label1.Location = new System.Drawing.Point(12, 389);
            this.label1.Name = "label1";
            this.label1.Size = new System.Drawing.Size(52, 13);
            this.label1.TabIndex = 3;
            this.label1.Text = "Directory:";
            // 
            // splitContainer1
            // 
            this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
            this.splitContainer1.Location = new System.Drawing.Point(0, 0);
            this.splitContainer1.Name = "splitContainer1";
            this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
            // 
            // splitContainer1.Panel1
            // 
            this.splitContainer1.Panel1.Controls.Add(this.listView1);
            this.splitContainer1.Panel1.Controls.Add(this.treeView1);
            // 
            // splitContainer1.Panel2
            // 
            this.splitContainer1.Panel2.Controls.Add(this.chkIncludeSubFolders);
            this.splitContainer1.Panel2.Controls.Add(this.txtDirectory);
            this.splitContainer1.Panel2.Controls.Add(this.btnGetFiles);
            this.splitContainer1.Panel2.Paint += new System.Windows.Forms.PaintEventHandler(this.splitContainer1_Panel2_Paint);
            this.splitContainer1.Size = new System.Drawing.Size(388, 405);
            this.splitContainer1.SplitterDistance = 320;
            this.splitContainer1.TabIndex = 5;
            // 
            // txtDirectory
            // 
            this.txtDirectory.Location = new System.Drawing.Point(89, 3);
            this.txtDirectory.Name = "txtDirectory";
            this.txtDirectory.Size = new System.Drawing.Size(296, 20);
            this.txtDirectory.TabIndex = 3;
            // 
            // chkIncludeSubFolders
            // 
            this.chkIncludeSubFolders.FormattingEnabled = true;
            this.chkIncludeSubFolders.Location = new System.Drawing.Point(15, 29);
            this.chkIncludeSubFolders.Name = "chkIncludeSubFolders";
            this.chkIncludeSubFolders.Size = new System.Drawing.Size(120, 19);
            this.chkIncludeSubFolders.TabIndex = 6;
            // 
            // btnGetFiles
            // 
            this.btnGetFiles.Location = new System.Drawing.Point(243, 29);
            this.btnGetFiles.Name = "btnGetFiles";
            this.btnGetFiles.Size = new System.Drawing.Size(142, 23);
            this.btnGetFiles.TabIndex = 5;
            this.btnGetFiles.Text = "Get Files";
            this.btnGetFiles.UseVisualStyleBackColor = true;
            // 
            // imageList1
            // 
            this.imageList1.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit;
            this.imageList1.ImageSize = new System.Drawing.Size(16, 16);
            this.imageList1.TransparentColor = System.Drawing.Color.Transparent;
            // 
            // treeView1
            // 
            this.treeView1.Dock = System.Windows.Forms.DockStyle.Fill;
            this.treeView1.ImageIndex = 0;
            this.treeView1.ImageList = this.imageList1;
            this.treeView1.Location = new System.Drawing.Point(0, 0);
            this.treeView1.Name = "treeView1";
            this.treeView1.SelectedImageIndex = 0;
            this.treeView1.Size = new System.Drawing.Size(388, 320);
            this.treeView1.TabIndex = 0;
            // 
            // listView1
            // 
            this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
            this.columnHeader1,
            this.columnHeader2,
            this.columnHeader3});
            this.listView1.Dock = System.Windows.Forms.DockStyle.Fill;
            this.listView1.Location = new System.Drawing.Point(0, 0);
            this.listView1.Name = "listView1";
            this.listView1.Size = new System.Drawing.Size(388, 320);
            this.listView1.SmallImageList = this.imageList1;
            this.listView1.TabIndex = 1;
            this.listView1.UseCompatibleStateImageBehavior = false;
            this.listView1.View = System.Windows.Forms.View.Details;
            // 
            // columnHeader1
            // 
            this.columnHeader1.Text = "Name";
            // 
            // columnHeader2
            // 
            this.columnHeader2.Text = "Type";
            // 
            // columnHeader3
            // 
            this.columnHeader3.Text = "Last Modifed";
            // 
            // Form1
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(388, 405);
            this.Controls.Add(this.splitContainer1);
            this.Controls.Add(this.label1);
            this.Name = "Form1";
            this.Text = "Form1";
            this.Load += new System.EventHandler(this.Form1_Load);
            this.splitContainer1.Panel1.ResumeLayout(false);
            this.splitContainer1.Panel2.ResumeLayout(false);
            this.splitContainer1.Panel2.PerformLayout();
            ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
            this.splitContainer1.ResumeLayout(false);
            this.ResumeLayout(false);
            this.PerformLayout();

        }

        #endregion

        private System.Windows.Forms.Label label1;
        private System.Windows.Forms.SplitContainer splitContainer1;
        private System.Windows.Forms.CheckedListBox chkIncludeSubFolders;
        private System.Windows.Forms.TextBox txtDirectory;
        private System.Windows.Forms.Button btnGetFiles;
        private System.Windows.Forms.ListView listView1;
        private System.Windows.Forms.ColumnHeader columnHeader1;
        private System.Windows.Forms.ColumnHeader columnHeader2;
        private System.Windows.Forms.ColumnHeader columnHeader3;
        private System.Windows.Forms.ImageList imageList1;
        private System.Windows.Forms.TreeView treeView1;
    }
}

Open in new window

0
 
Fernando SotoRetiredCommented:
Hi eghtebas;

The error message and Line 75 of the code is stating that a splitContainer1.Panel2.Paint event is being added to the application but at compile time it could not find the event handler. This is not a event handler that is added by default when you add a split container so I do not know how it was added. What you can do to resolve the issue is the following. Remove Line 75 from the code seeming it is not being used or you can just add an empty event handler to define it like the following code. But I would just delete Line 75 from the code.

private void splitContainer1_Panel2_Paint(object sender, PaintEventArgs e)
{

}

Open in new window

0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
Mike EghtebasDatabase and Application DeveloperAuthor Commented:
Yes, I had this event. But because it was empty I did delete it. I will put it back shortly. brb
0
 
Mike EghtebasDatabase and Application DeveloperAuthor Commented:
Yes, it fixed that error. But at line like:

DirectoryInfo info = new DirectoryInfo(@"C:\Users\Public\Documents\UntypeDatasetSample");

it gave an error saying cannot access the folder (although I have signed as admin). So, I changed to public folder as shown above and for now it fixed the second error.

The problem now is it doesn't display treeview. There could be more and more never ending error and question. I will close this thread for now to follow up the pending items in later questions.

Thank you,

Mike
0
 
Mike EghtebasDatabase and Application DeveloperAuthor Commented:
Hi Fernando,

A followup question added at: http://www.experts-exchange.com/Programming/Languages/.NET/Visual_Basic.NET/Q_28586758.html for your consideration.

Thanks,

Mike
0

Featured Post

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

  • 4
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now