+ -
当前位置:首页 → 问答吧 → 小问题

小问题

时间:2011-12-18

来源:互联网

private void button1_Click(object sender, EventArgs e)
  {
  //textBox1.Text = listView1.Items.ToString();
   
  string path = textBox1.Text;
  DirectoryInfo dirinfo = new DirectoryInfo(path);
  DirectoryInfo[] arrdirinfo;
  arrdirinfo = dirinfo.GetDirectories();
  listView1.Items.Clear();
  foreach (DirectoryInfo di in arrdirinfo)
  {
  ListViewItem liv = new ListViewItem(di.Name);
  if (Path.GetExtension(di.Name).ToString().ToUpper()=="RAR")
  {
  liv.ImageIndex = 2;
  }
  else
  {
  liv.ImageIndex = 3;
  }
  liv.SubItems.Add(di.LastWriteTime.ToString());
   
  listView1.Items.Add(liv);
  }
  }
问题1:为什么我注释的那行,textBox输出的是一段英文(好像是System.....什么什么的),而不是我选中的ITEMS的名字呢!
问题2:在if判定文件类型的时候怎么在测试的时候不行呢,完全没改变图标。。
求解答,谢谢!

作者: woxikuanwan   发布时间: 2011-12-18

listView1.Items.ToString是输出的Items类型
listView1.Items[0].Text才是内容

Path.GetExtension返回值中包括 '.',好好看帮助

作者: bdmh   发布时间: 2011-12-18

public ListViewItemCollection Items { get; }

Items返回类型可不是string 哦 
http://msdn.microsoft.com/zh-cn/library/system.windows.forms.listview.items(v=vs.80).aspx

作者: q107770540   发布时间: 2011-12-18

if (Path.GetExtension(di.Name).TrimStart('.').ToString().ToUpper()=="RAR")

作者: q107770540   发布时间: 2011-12-18

如果我想得到选中的SelectedItems的名字应该怎么写呢,我写了textBox1.Text = listView1.SelectedItems[0].ToString();
输出是listview1:{e:\},括号里面的才是我想要的值,怎么多了点东西呢!
还有第二个问题,用了上面2位的方法还是不行,不知道什么问题,我给全部代码你看看
public partial class Form1 : Form
  {
  public Form1()
  {
  InitializeComponent();
  }

  private void Form1_Load(object sender, EventArgs e)
  {
  textBox1.Text = "我的电脑";
  string[] arrDrives = Directory.GetLogicalDrives();
  foreach (string str in arrDrives)
  {
  ListViewItem liv = new ListViewItem(str, 0);
  listView1.Items.Add(liv);
   
  }
  }

  private void button1_Click(object sender, EventArgs e)
  {
   
  textBox1.Text = listView1.SelectedItems[0].ToString();
  string path = textBox1.Text;
  DirectoryInfo dirinfo = new DirectoryInfo(path);
  DirectoryInfo[] arrdirinfo;
  arrdirinfo = dirinfo.GetDirectories();
  listView1.Items.Clear();
  foreach (DirectoryInfo di in arrdirinfo)
  {
  ListViewItem liv = new ListViewItem(di.Name);
  if (Path.GetExtension(di.Name).TrimStart('.').ToString().ToUpper() == "RAR")
  {
  liv.ImageIndex = 2;
  }
  else
  {
  liv.ImageIndex = 3;
  }
  liv.SubItems.Add(di.LastWriteTime.ToString());

  listView1.Items.Add(liv);
  }
  }

  private void 大图标ToolStripMenuItem_Click(object sender, EventArgs e)
  {
  listView1.View = View.LargeIcon;
  }

  private void 小图标ToolStripMenuItem_Click(object sender, EventArgs e)
  {
  listView1.View = View.SmallIcon;
  }

  private void 详细ToolStripMenuItem_Click(object sender, EventArgs e)
  {
  listView1.View = View.Details;
  }

  private void 列表ToolStripMenuItem_Click(object sender, EventArgs e)
  {
  listView1.View = View.List;
  }

  }
求帮忙!谢谢

作者: woxikuanwan   发布时间: 2011-12-18