这个是winform自带的控件吗?第一次感觉自带控件还是蛮好看的嘛

解决方案 »

  1.   

     ColumnHeader ch = new ColumnHeader();
                ch.Text = "文件名";
                ch.TextAlign=HorizontalAlignment.Left;
                ch.Width = 89;
                listView1.Columns.Add(ch);
                ColumnHeader ch1 = new ColumnHeader();
                ch1.Text = "文件大小";
                ch1.TextAlign = HorizontalAlignment.Center;
                ch1.Width = 89;
                listView1.Columns.Add(ch1);
                ColumnHeader ch2 = new ColumnHeader();
                ch2.Text = "时间";
                ch2.TextAlign = HorizontalAlignment.Right;
                ch2.Width = 89;
                listView1.Columns.Add(ch2);
                #region  获取计算机所有磁盘节点
                TreeNode tn = treeView1.Nodes.Add("计算机");
                DriveInfo[] drives = DriveInfo.GetDrives();  //using system.IO由于是静态类,不用实例化 
                for (int j = 0; j <drives.Length; j++)
                {
                    TreeNode drive = new TreeNode(drives[j].ToString());
                    tn.Nodes.Add(drive);
                }
      

  2.   

    加断点  看 drives  这个是不是空3行
      

  3.   

    你不是listView1有问题吗,
    listView1的代码呢
    怎么贴的都是操作 TreeNode
      

  4.   


    你这只有加载treeview的,没有加载listview的
      

  5.   

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Diagnostics;
    using System.IO;
    namespace listview练习
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            public void button1_Click(object sender, EventArgs e)
            {
                try
                {
                    string path = textBox1.Text;
                    System.Diagnostics.Process.Start(path);
                }
                catch 
                {
                    MessageBox.Show("请选择要打开的磁盘","",MessageBoxButtons.OK,MessageBoxIcon.Error);
                }            
            }
            public void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
            {
                textBox1.Text = treeView1.SelectedNode.Text;
                #region 利用switch case语句在listvie显示textBox 的内容。
                switch (textBox1.Text)
                { 
                    case "计算机":
                    case "C:\\":
                    case "D:\\":
                    case "E:\\":
                    case "F:\\":
                    case "H:\\":
                    case "I:\\":
                    case "G:\\":
                    listView1.Items.Add(this.textBox1.Text);
                    break;
                }
                #endregion
            }
            public void Form1_Load(object sender, EventArgs e)
            {
                ColumnHeader ch = new ColumnHeader();
                ch.Text = "文件名";
                ch.TextAlign=HorizontalAlignment.Left;
                ch.Width = 89;
                listView1.Columns.Add(ch);
                ColumnHeader ch1 = new ColumnHeader();
                ch1.Text = "文件大小";
                ch1.TextAlign = HorizontalAlignment.Center;
                ch1.Width = 89;
                listView1.Columns.Add(ch1);
                ColumnHeader ch2 = new ColumnHeader();
                ch2.Text = "时间";
                ch2.TextAlign = HorizontalAlignment.Right;
                ch2.Width = 89;
                listView1.Columns.Add(ch2);
                #region  获取计算机所有磁盘节点
                TreeNode tn = treeView1.Nodes.Add("计算机");
                DriveInfo[] drives = DriveInfo.GetDrives();  //using system.IO由于是静态类,不用实例化 
                for (int j = 0; j <drives.Length; j++)
                {
                    TreeNode drive = new TreeNode(drives[j].ToString());
                    tn.Nodes.Add(drive);
                }
                //for (int i = 0; i < 10; i++)
                //{
                //    ListViewItem lvi = new ListViewItem();  //listview类
                //    lvi.ImageIndex = i;
                //    lvi.Text = "subitem" + i;
                //    lvi.SubItems.Add("第2列,第" + i + "行");
                //    lvi.SubItems.Add("第3列,第" + i + "行");
                //    this.listView1.Items.Add(lvi);
                //}           
                #endregion                                
            }
            private void listView1_SelectedIndexChanged(object sender, EventArgs e)
            {   
            }
            private void label2_Click(object sender, EventArgs e)
            {
                label2.Text = DateTime.Now.ToString(); 
            }
            private void timer1_Tick(object sender, EventArgs e)
            {
               label2.Text= DateTime.Now.ToString();
            }
            private void button2_Click(object sender, EventArgs e)
            {
                int Index=0;
                if (this.listView1.SelectedItems.Count > 0)//判断listview有被选中项
                {
                    Index = this.listView1.SelectedItems[0].Index;//取当前选中项的index,SelectedItems[0]这必须为0
                    listView1.Items[Index].Remove();
                } 
            }
        }
    }
      

  6.   

    这里应该没有问题,调用的本来就是系统方法,而且他的treeview显示正常
      

  7.   

    你在设计的时候添加了三个空行吧,你去form1.designer.cs里看看是不是有三个空行,或者form_load事件里最后一行加个清空代码 public void Form1_Load(object sender, EventArgs e)
    {
      ....
      listView1.Items.Clear();
    }
      

  8.   

    你这思路就有问题
    怎么是点按钮或点treeview才去加载listview
    而且即使这样操作,也要判断点的是不是空白的地方啊
    什么都没点你也往上加,加入的当然就是空的
      

  9.   

     textBox1.Text = treeView1.SelectedNode.Text;
                #region 利用switch case语句在listvie显示textBox 的内容。
                switch (textBox1.Text)
                { 
                    case "计算机":
                    case "C:\\":
                    case "D:\\":
                    case "E:\\":
                    case "F:\\":
                    case "H:\\":
                    case "I:\\":
                    case "G:\\":
                    listView1.Items.Add(this.textBox1.Text);
                    break;
                }
    这个不算判断吗?