马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

TreeView的窗体,遇到问题了

  [复制链接]
查看5598 | 回复6 | 2013-11-29 18:31:17 | 显示全部楼层 |阅读模式
本帖最后由 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
怎么回事,怎么解决,为什么
QQ截图20131129183347.jpg

TreeView.zip

41.34 KB, 下载次数: 16

ibcadmin | 2013-11-29 20:56:27 | 显示全部楼层
源码发过来
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
wang1234587 | 2013-11-29 21:14:08 | 显示全部楼层

源码上面有啊
ibcadmin | 2013-11-29 21:23:50 | 显示全部楼层
打包压缩发来
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
wang1234587 | 2013-11-29 21:32:40 | 显示全部楼层

在附件里
IoveBC | 2013-11-30 15:30:59 | 显示全部楼层
楼主说的没错,代码这种东西不好说,最好打包发过来
wang1234587 | 2013-11-30 15:47:39 | 显示全部楼层
IoveBC 发表于 2013-11-30 15:30
楼主说的没错,代码这种东西不好说,最好打包发过来

不是应经打包好放在附件里了!!!!!
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则