苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 2483|回复: 2

[其他] TreeView的窗体,遇到问题了

[复制链接]
发表于 2013-11-29 18:38:11 | 显示全部楼层 |阅读模式
本帖最后由 wang1234587 于 2013-11-29 18:39 编辑

我用treeview和listview做了一个form

listview显示的内容是根据treeview的内容确定的

这是我运行后得到的窗体,见附件


可以看到我的listview中的所有项前面都多出了一个“treenode”这样的字符

第一个问题:怎么去掉这个treenode,让他只显示后面的汉字,本来我转字符串的时候就是只转的内容,真不明白为什么多出来个这

这是我的代码
[backcolor=white !important]
[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());
            }
            
        }
    }
}




第二个问题

我在form里还放了一个textbox,想让其显示我选中的listview的当前项

我用的代码是this.textBox1.Text = this.listView1.SelectedItems.ToString();

但是运行结果是,无论我选中的是什么都会显示System.Windows.Forms.ListView+SelectedListViewItemCollection
怎么回事,怎么解决,为什么


QQ截图20131129183347.jpg


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
 楼主| 发表于 2013-11-30 15:15:19 | 显示全部楼层
回复

使用道具 举报

发表于 2013-12-1 18:24:55 | 显示全部楼层
具体的问题,因为现在这个机子没有vs,所以也闹不清。因为我也是个新手,不过,楼主是不是应该去调试一下。在Form1_Load中添加一个断点,跟进去看看。好多的对象,你直接添加到监事,然后运行几步看看其内容是怎么变化的,应该可以发现不少东西吧。
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-12-29 20:37

© 2014-2021

快速回复 返回顶部 返回列表