C#list<T>泛型集合习题

在做了前面的演练7-3之后,我以为后面的习题应该问题不大,依样画葫芦也能弄出来,结果说明,我想多了,两个不容的控件完全不能一概而论。前面用的时DataGirdView,后面则是的listview。对于这个玩意,我应该不陌生,在前面的动态控件,做图片轮显的时候就遇到,当时还没有搞出来。网上说做数据表现和存放用DataGirdView是比较好的,再加上我对C#的控件不是特别熟悉,很多都不会用,所以在listview上花了一些时间去了解它的用法。
        OK,言归正传,首先要使用这个listview控件,就必须了解它是如何往里面添加行列的,如何显示出来。当初我试想跟着演练照着来,结果发现listview没有直接布局的方法,不能像DataGirdView直接给column命名,不能直接通过BindingSource绑定数据源。所以只能按照它给定的其他属性和方法来弄。
    
1.定义一个列名,并把这个列添加到listview里面
        ColumnHeader ch = new ColumnHeader();
            ch.Text = "姓名";
            ch.Width = 120; 
        this.listview_show_hgy.Columns.Add(ch);

2.然后添加一个Item(首项),和若干的SubItem(子项)
         lvi.Text = list[i].Name;//!!!
          lvi.SubItems.Add(list[i].Chinese);
        this.listview_show_hgy.Items.Add(lvi); 
        在上面的代码里有一个i,是因为要添加的不可能只有一项,所以用循环的方式,i< list.count,在这里也要忍不住      吐槽一下,存储的方式使用list,当时想了好久怎么把list中存放的数据读出来,结果两个小时过了,试了若干方      法,结果是,实例名.属性 的方法,瞬间感觉不好了。
    
3.最后将listview设置成Details模式即可
         this.listview_show_hgy.View = System.Windows.Forms.View.Details; 
      
        到这里,一个list就建好了,是不是很简单,
接着在窗体载入时给list放一个自定义类的对象集合进去就行了,就像这样
               
        StuInfo zhang = new StuInfo("张三", "80", "95", null, "河南省郑州市", "13323456789");
        stulist.Add(zhang);
        FillGrid(stulist);    //在FillGrid方法中显示listview

        接着就是按钮的事件问题了,这里有几个困惑我的难点:
        1.点击主窗体“添加”,隐藏主窗体,显示副窗体
        2.点击副窗体的“添加”,给主窗体的listview添加一条记录
        3.点击副窗体“返回”,隐藏副窗体,显示主窗体,这时候,主窗体要有之前添加的记录
        4.点击主窗体“删除”,删除listview一条记录

        ①这里面最好解决的是4,之前我用list的romove方法没有搞出来,网上查了下原来是要这么用

        //判断listview有被选择的项
            if (listview_show_hgy.SelectedItems.Count > 0)
            {
              &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值