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;

            }
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM