本帖最后由 wang1234587 于 2013-11-29 21:32 编辑
我用treeview和listview做了一个form
listview显示的内容是根据treeview的内容确定的
这是我运行后得到的窗体
file:///C:/Users/lenovo/AppData/Local/Temp/msohtml1/01/clip_image002.jpg
可以看到我的listview中的所有项前面都多出了一个“treenode”这样的字符file:///C:/Users/lenovo/AppData/Local/Temp/msohtml1/01/clip_image003.jpg
第一个问题:怎么去掉这个treenode,让他只显示后面的汉字,本来我转字符串的时候就是只转的内容,真不明白为什么多出来个这
这是我的代码
[C#] 纯文本查看 复制代码 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;
namespace TreeView
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
this.textBox1.Text = this.listView1.SelectedItems.ToString();
}
private void Form1_Load(object sender, EventArgs e)
{
listView1.View = View.Details;
foreach (TreeNode jiedian in this.treeView1.Nodes)
{
listView1.Columns.Add(jiedian.ToString());
}
int count = new int();
count = this.treeView1.GetNodeCount(true);
int count2=new int();
count2 = this.treeView1.GetNodeCount(false);
int a = new int();
a = this.treeView1.Nodes[0].Nodes.Count;
for (int i = 0; i < a; i++)
{
this.listView1.Items.Add(this.treeView1.Nodes[0].Nodes[i].ToString());
}
int b = new int();
b = this.treeView1.Nodes[1].Nodes.Count;
for(int i=0;i<b;i++)
{
this.listView1.Items[i].SubItems.Add(this.treeView1.Nodes[1].Nodes[i].ToString());
}
int c = new int();
c = this.treeView1.Nodes[2].Nodes.Count;
for (int i = 0; i < c; i++)
{
this.listView1.Items[i].SubItems.Add(this.treeView1.Nodes[2].Nodes[i].ToString());
}
}
}
}
file:///C:/Users/lenovo/AppData/Local/Temp/msohtml1/01/clip_image004.jpg
第二个问题
我在form里还放了一个textbox,想让其显示我选中的listview的当前项
我用的代码是this.textBox1.Text = this.listView1.SelectedItems.ToString();
但是运行结果是,无论我选中的是什么都会显示System.Windows.Forms.ListView+SelectedListViewItemCollection 怎么回事,怎么解决,为什么 |