各位C#高手,我编了个小小关于TreeView控件的程序但就是在窗口上显示不出来.帮忙解决下.

类别:.NET开发 点击:0 评论:0 推荐:

我首先建了个C#console application.然后输入以下程序:

#region Using directives

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows .Forms ;
using System.ComponentModel;
using System.Data ;
using System.Drawing ;
using System.IO ;

#endregion

namespace TreeViewDirectorys
{
 
     public   class TreeViewDirectoryStructureTest:System .Windows .Forms .Form
    {
   private System.Windows.Forms.TreeView directoryTreeView;
   private System.ComponentModel.Container components = null;


   public TreeViewDirectoryStructureTest()
   {
    directoryTreeView = new TreeView();
    directoryTreeView.Location = new System.Drawing.Point(16, 16);
    directoryTreeView.Name = "directorytreeview";
    directoryTreeView.TabIndex = 0;
   

    this.SuspendLayout();

    this.AutoScaleBaseSize = new System.Drawing.Size(3, 8);
    this.ClientSize=new System .Drawing .Size(300,300);
             

    this.Controls.AddRange(
     new System.Windows.Forms.Control[] {
     this.directoryTreeView
    });
    this.Name = "TreeViewDirectoryStructureTest";
    this.Text = "TreeViewDirectoryStructureTest";
    this.ResumeLayout(false);
       }

 

   protected override void Dispose(bool disposing)
   {
    if (disposing)
    {
     if (components != null)
     {
      components.Dispose();
     }
    }

    base.Dispose(disposing);
   /* throw new NotImplementedException();*/
   }

 

 

    static void Main(string[] args)
    {
     Application.Run(new TreeViewDirectoryStructureTest());

    }

   public void PopulateTreeView(string directoryValue, TreeNode parentNode)
   {
    string[] directoryArray = Directory.GetDirectories(directoryValue);


    try
    {
     if (directoryArray.Length != 0)
     {
      foreach (string directory in directoryArray)
      {
       TreeNode myNode = new TreeNode(directory);
       parentNode.Nodes.Add(myNode);
       PopulateTreeView(directory, myNode);

      }
     }
    }


    catch (UnauthorizedAccessException)
    {
     parentNode.Nodes.Add("Access denied");
    }
   }

   private void TreeViewDirectoryStructureTest_Load(
    object sender, System.EventArgs e)
   {
    directoryTreeView.Nodes.Add("c:\\");
    PopulateTreeView("c:\\", directoryTreeView.Nodes[0]);

   }
    }
}

我运行的环境是VS.net2005 beta.

本文地址:http://com.8s8s.com/it/it42298.htm