zoukankan      html  css  js  c++  java
  • WinForm控件之【ListView】

    基本介绍

    项列表控件,拥有五种不同视图的样式供展示项集合。

    常设置属性

    Columns:‘详细信息’视图中用来显示的列;

    Groups:ListView列表中的组,将列表各项分组区域展示;

    HorizontalScrollbar:当值为true时任一项内容超出控件右边缘将显示水平滚动条;

    Enabled:指示是否启用该控件,true为启用状态用户可操作列表设置的允许功能,false为禁用状态无法操作;

    Items:列表中的项集合;

    LabelEdit:是否允许用户就地编辑项标签;

    LargeImageList:列表以大图标视图时需要绑定图像的属性;

    SmallImageList:列表以小图标视图时需要绑定图像的属性;

    Name:指示代码中用来标识该对象的名称;

    View:设置客户显示项的五种不同视图中的一种;

    事例举例

     相关代码

            //加载女神图片显示到列表
            private void btn_LoadInfo_Click(object sender, EventArgs e)
            {
                //查重新绑定时清空旧记录
                if (listView1 != null && listView1.Items.Count > 0) { listView1.Items.Clear(); }
    
                //获取本地图片信息显示到列表
                Dictionary<string, int> dicIndex = new Dictionary<string, int>();
                ImageList il = new ImageList();
                string[] imagePaths = null;
                string imagePath = txt_ImagePath.Text.Trim();
                if (!string.IsNullOrWhiteSpace(imagePath))
                {
                    if (System.IO.Directory.Exists(imagePath))
                    {
                        int index = 0;
                        string fileType = ";.jpg;.jpeg;.png;";
                        imagePaths = System.IO.Directory.GetFiles(imagePath);
                        foreach (string path in imagePaths)
                        {
                            if (fileType.Contains(System.IO.Path.GetExtension(path)))
                            {
                                Image image = Image.FromFile(path);
                                string fileName = System.IO.Path.GetFileNameWithoutExtension(path);
    
                                il.Images.Add(fileName, image);
                                dicIndex.Add(fileName, index++);
                            }
                        }
                    }
                }
    
    
                if (il != null && il.Images.Count > 0)
                {
                    //列表定义分组
                    ListViewGroup[] lvgs = { new ListViewGroup("内地", HorizontalAlignment.Center), 
                                              new ListViewGroup("日韩", HorizontalAlignment.Center),
                                              new ListViewGroup("欧美", HorizontalAlignment.Center),
                                              new ListViewGroup("其他", HorizontalAlignment.Center)};
                    listView1.Groups.AddRange(lvgs);
    
                    for (int i = 0, counti = il.Images.Count; i < counti; i++)
                    {
                        string itemText = il.Images.Keys[i];
                        //定义列表展示项
                        ListViewItem lvi = new ListViewItem();
                        lvi.Text = itemText;
                        lvi.ImageIndex = dicIndex[itemText];
                        lvi.StateImageIndex = dicIndex[itemText];
    
                        foreach (ListViewGroup lvg in lvgs)
                        {
                            if (itemText.Contains(lvg.Header))
                            {
                                //给展示项分组
                                lvi.Group = lvg;
                                lvi.ToolTipText = string.Format("【{0}】{1}", lvg.Header, itemText);
                                break;
                            }
                        }
                        if (string.IsNullOrWhiteSpace(lvi.ToolTipText))
                        {
                            //文件名未按标准格式命名时统一分到一组展示
                            lvi.Group = lvgs[lvgs.Length - 1];
                            lvi.ToolTipText = string.Format("【{0}】{1}", lvgs[lvgs.Length - 1].Header, itemText);
                        }
    
                        //添加项
                        listView1.Items.Add(lvi);
    
                    }
    
                    //设置项图片展示大小与像素
                    il.ImageSize = new Size(60, 60);
                    il.ColorDepth = ColorDepth.Depth32Bit;
    
                    //将项与列表绑定并设置部分属性控制列表展示及操作的类型
                    listView1.LargeImageList = il;
                    listView1.SmallImageList = il;
                    listView1.LabelEdit = true;
                    listView1.ShowItemToolTips = true;
                    listView1.View = View.LargeIcon;
    
                }
            }
  • 相关阅读:
    【POJ】[1703]Find them, Catch them
    【杭电】[2717]Catch That Cow
    【杭电】[2717]Catch That Cow
    【杭电】[1716]排列2
    【杭电】[1716]排列2
    【杭电】[2084]数塔
    【杭电】[2084]数塔
    【杭电】[1003]Max Sum
    【杭电】[1003]Max Sum
    [leetcode]117. Populating Next Right Pointers in Each NodeII用next填充同层相邻节点
  • 原文地址:https://www.cnblogs.com/ljhandsomeblog/p/11169024.html
Copyright © 2011-2022 走看看