返回首页
当前位置: 主页 > 网络编程 > .Net实例教程 >

C#如何动态创建listview并添加单击事件

时间:2017-11-06 22:44来源:知行网www.zhixing123.cn 编辑:麦田守望者

用 C# 开发 Winform 程序,大多情况下,listview控件都是直接拖到窗体中,直接设置属性和用 ImageList控件设置其宽度和高度就可以满足需要;但某些时候,事先要求不生成 listview,用到才动态创建,此时就得用代码动态添加。

  动态创建listview 不外乎就是定义一个 listview 对象,同样很简单;如果不添加单击事件,的确简单,直接定义一个对象然后参照其属性设置需要属性;如果要添加listview单击事件并在该事件中进行相关操作,就比把 listview 拖到窗体的情况麻烦一点,从未动态添加过单击事件,可能一时半会不知如何添加,添加完后又怎么在单击事件中获取动态创建的 listview 对象。

 

  动态创建listview并添加单击事件示例:

  假如要用 listview 动态显示分类,点击某一类时显示该类的所有产品,实现代码如下:

  /// <summary>
  /// C# listview动态添加、动态创建方法
  /// </summary>
  private void AddCategories()
  {
    ListView lvCategory = new ListView();
    lvCategory.View = View.LargeIcon;
    lvCategory.BorderStyle = BorderStyle.None;
    lvCategory.Cursor = Cursors.Hand;//设置鼠标为手指型

    lvCategory.Left = 430;
    lvCategory.Width = 500;
    lvCategory.BackColor = Color.FromArgb(216, 222, 230);//背景颜色

    //添加单击事件
    lvCategory.SelectedIndexChanged += new EventHandler(lvCategory_SelectedIndexChanged);

    lvCategory.Items.Add("电脑");
    lvCategory.Items.Add("笔记本电脑");
    lvCategory.Items.Add("手机");
    lvCategory.Items.Add("数码相机");
    lvCategory.Items.Add("液晶电视");
    lvCategory.Items.Add("洗衣机");
    this.Controls.Add(lvCategory);
  }

  // listview单击事件
  private void lvCategory_SelectedIndexChanged(object sender, EventArgs e)
  {
    ListView lvCategory = (ListView)sender;//获取动态创建的listview对象
    if (lvCategory.SelectedItems.Count > 0)
    {
      string categoryName = lvCategory.SelectedItems[0].SubItems[0].Text;
      //绑定产品
    }
  }

  定义 listview 对象很简单,关键是在单击事件中怎么获取到那个新创建的对象,代码中用 (ListView)sender 即可实现。

顶一下
(0)
0%
踩一下
(0)
0%
标签(Tag):C#
------分隔线----------------------------
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
猜你感兴趣