亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解C# winform ListView的基本操作

 更新時(shí)間:2022年01月27日 15:49:23   作者:廷益--飛鳥  
本文主要介紹了C# winform ListView的基本操作,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

組圖的加載與導(dǎo)入

圖片存放的相對路徑/ 與exe存放在一個(gè)文件夾

在這里插入圖片描述

為界面添加圖片組–組件

在這里插入圖片描述

圖片下載路徑
鏈接:img_jb51.rar

 // 組圖的加載與導(dǎo)入
 Dictionary<int, string> dic = new Dictionary<int, string>(); // 保存 序號--文件路徑
 private void LoadImgList()
 {
     string imgPath = @".\img"; // 文件夾路徑

     if (Directory.Exists(imgPath)==false)
     {
         Debug.WriteLine("圖片文件夾不存在");
         return;
     }

     // 獲取圖片路徑列表
     string[] files = Directory.GetFiles(imgPath);
     if (files.Length <= 0) 
     {
         Debug.WriteLine("圖片不存在");
         return;
     }

     this.largeList.Images.Clear();
     this.smallList.Images.Clear();
     int index = 0;

     // 判斷文件后綴,讀取圖片,設(shè)置圖片
     string[] fileType = { ".jpg", ".png" };
     foreach (string fpath in files)
     {
         // 判斷文件后綴
         if (fileType.Contains(Path.GetExtension(fpath))) 
         {
             Image img = Image.FromFile(fpath);
             string keyName = Path.GetFileNameWithoutExtension(fpath);
             // 設(shè)置圖片
             this.largeList.Images.Add(keyName, img);
             this.smallList.Images.Add(keyName, img);
             // 保存索引與圖片路徑
             dic.Add(index, fpath);
             index++;
         }
     }

     // 設(shè)置圖片大小
     this.largeList.ImageSize = new Size(50, 50);
     this.smallList.ImageSize = new Size(20, 20);
 }

為ListView添加內(nèi)容

 private void SetDetailsData()
 {
     // 清空列表
     lvList.Columns.Clear();
     lvList.Items.Clear();

     // 設(shè)置模式
     lvList.View = View.Details; // 設(shè)置詳細(xì)視圖

     // 列的添加
     lvList.Columns.Add("文件名", 100, HorizontalAlignment.Left);
     lvList.Columns.Add("創(chuàng)建日期", 150, HorizontalAlignment.Left);
     lvList.Columns.Add("類型", 80, HorizontalAlignment.Left);
     lvList.Columns.Add("大小", 60, HorizontalAlignment.Left);

     // item 的添加
     for (int i = 0; i < dic.Count; i++)
     {
         ListViewItem li = new ListViewItem();
         li.ImageIndex = i; //設(shè)置圖片序號
         // 設(shè)置文件名
         li.Text = smallList.Images.Keys[i];

         li.SubItems.Add(File.GetCreationTime(dic[i]).ToString()); // 創(chuàng)建時(shí)間
         li.SubItems.Add(Path.GetExtension(dic[i]).ToString()); // 類型

         long length = new FileInfo(dic[i]).Length; // 大小
         li.SubItems.Add((length / 1024).ToString());
         lvList.Items.Add(li);
     }
 }

ListView 初始化設(shè)置與加載

 private void Form1_Load(object sender, EventArgs e)
 {
     // 顯示是否分組顯示
     this.lvList.ShowGroups = false;

     if (this.largeList == null || this.largeList.Images.Count <= 0)
     {
         return;
     }

     this.SetDetailsData(); // 設(shè)置數(shù)據(jù)
     this.SetListGroup(); // 設(shè)置列表分組
     this.SetItemGroup(); // 設(shè)置item所屬組

     lvList.GridLines = true;

     lvList.View = View.LargeIcon; // 設(shè)置顯示模式--為大圖模式
     lvList.LargeImageList = this.largeList;//關(guān)聯(lián)大圖標(biāo)列表
     lvList.SmallImageList = this.smallList;// 關(guān)聯(lián)小圖標(biāo)列表
 }

分組設(shè)置

// 為列表設(shè)置分組設(shè)置, 
Dictionary<string, string> dict = new Dictionary<string, string>(); // 記錄分組名與包含字符串
private void SetListGroup()
{
    // 添加組
    lvList.Groups.Clear();
    lvList.Groups.Add(new ListViewGroup("花", HorizontalAlignment.Center));
    lvList.Groups.Add(new ListViewGroup("動物", HorizontalAlignment.Center));
    lvList.Groups.Add(new ListViewGroup("人物", HorizontalAlignment.Center));
    lvList.Groups.Add(new ListViewGroup("風(fēng)景", HorizontalAlignment.Center));

    dict.Add("花", "04");
    dict.Add("動物", "01");
    dict.Add("人物", "02");
    dict.Add("風(fēng)景", "03");
}

// 設(shè)置item 所屬分組
private void SetItemGroup()
{
    // 判斷每一項(xiàng)進(jìn)行分組
    for (int i = 0; i < lvList.Items.Count; i++)
    {
        foreach (ListViewGroup lvg in lvList.Groups)
        {
            if (lvList.Items[i].Text.Substring(0, 2) == dict[lvg.Header])
            {
                lvList.Items[i].Group = lvg;
                break;
            }
        }
    }
}

完整代碼

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Diagnostics;

namespace ListViewSt
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            this.LoadImgList();
        }

        // 組圖的加載與導(dǎo)入
        Dictionary<int, string> dic = new Dictionary<int, string>(); // 保存 序號--文件路徑
        private void LoadImgList()
        {
            string imgPath = @".\img"; // 文件夾路徑

            if (Directory.Exists(imgPath) == false)
            {
                Debug.WriteLine("圖片文件夾不存在");
                return;
            }

            // 獲取圖片路徑列表
            string[] files = Directory.GetFiles(imgPath);
            if (files.Length <= 0)
            {
                Debug.WriteLine("圖片不存在");
                return;
            }

            this.largeList.Images.Clear();
            this.smallList.Images.Clear();
            int index = 0;

            // 判斷文件后綴,讀取圖片,設(shè)置圖片
            string[] fileType = { ".jpg", ".png" };
            foreach (string fpath in files)
            {
                // 判斷文件后綴
                if (fileType.Contains(Path.GetExtension(fpath)))
                {
                    Image img = Image.FromFile(fpath);
                    string keyName = Path.GetFileNameWithoutExtension(fpath);
                    // 設(shè)置圖片
                    this.largeList.Images.Add(keyName, img);
                    this.smallList.Images.Add(keyName, img);
                    // 保存索引與圖片路徑
                    dic.Add(index, fpath);
                    index++;
                }
            }

            // 設(shè)置圖片大小
            this.largeList.ImageSize = new Size(50, 50);
            this.smallList.ImageSize = new Size(20, 20);
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // 顯示是否分組顯示
            this.lvList.ShowGroups = false;

            if (this.largeList == null || this.largeList.Images.Count <= 0)
            {
                return;
            }

            this.SetDetailsData(); // 設(shè)置數(shù)據(jù)
            this.SetListGroup(); // 設(shè)置列表分組
            this.SetItemGroup(); // 設(shè)置item所屬組

            lvList.GridLines = true;

            lvList.View = View.LargeIcon; // 設(shè)置顯示模式--為大圖模式
            lvList.LargeImageList = this.largeList;//關(guān)聯(lián)大圖標(biāo)列表
            lvList.SmallImageList = this.smallList;// 關(guān)聯(lián)小圖標(biāo)列表
        }

        // 大圖標(biāo)視圖
        private void btnLarge_Click(object sender, EventArgs e)
        {
            this.lvList.View = View.LargeIcon;
        }

        // 小圖標(biāo)視圖
        private void btnSmall_Click(object sender, EventArgs e)
        {
            this.lvList.View = View.SmallIcon;
        }

        // 列表視圖
        private void btnList_Click(object sender, EventArgs e)
        {
            this.lvList.View = View.List;
        }

        // Tile 視圖 圖標(biāo)使用大圖標(biāo)
        private void btnTile_Click(object sender, EventArgs e)
        {
            this.lvList.View = View.Tile;
        }

        // 詳細(xì)信息視圖 列
        private void btnDetail_Click(object sender, EventArgs e)
        {
            lvList.View = View.Details; // 設(shè)置詳細(xì)視圖
        }

        // 添加item列表
        private void SetDetailsData()
        {
            // 清空列表
            lvList.Columns.Clear();
            lvList.Items.Clear();

            // 設(shè)置模式
            lvList.View = View.Details; // 設(shè)置詳細(xì)視圖

            // 列的添加
            lvList.Columns.Add("文件名", 100, HorizontalAlignment.Left);
            lvList.Columns.Add("創(chuàng)建日期", 150, HorizontalAlignment.Left);
            lvList.Columns.Add("類型", 80, HorizontalAlignment.Left);
            lvList.Columns.Add("大小", 60, HorizontalAlignment.Left);

            // item 的添加
            for (int i = 0; i < dic.Count; i++)
            {
                ListViewItem li = new ListViewItem();
                li.ImageIndex = i; //設(shè)置圖片序號
                // 設(shè)置文件名
                li.Text = smallList.Images.Keys[i];

                li.SubItems.Add(File.GetCreationTime(dic[i]).ToString()); // 創(chuàng)建時(shí)間
                li.SubItems.Add(Path.GetExtension(dic[i]).ToString()); // 類型

                long length = new FileInfo(dic[i]).Length; // 大小
                li.SubItems.Add((length / 1024).ToString());
                lvList.Items.Add(li);
            }
        }

        // 為列表設(shè)置分組設(shè)置, 
        Dictionary<string, string> dict = new Dictionary<string, string>(); // 記錄分組名與包含字符串
        private void SetListGroup()
        {
            // 添加組
            lvList.Groups.Clear();
            lvList.Groups.Add(new ListViewGroup("花", HorizontalAlignment.Center));
            lvList.Groups.Add(new ListViewGroup("動物", HorizontalAlignment.Center));
            lvList.Groups.Add(new ListViewGroup("人物", HorizontalAlignment.Center));
            lvList.Groups.Add(new ListViewGroup("風(fēng)景", HorizontalAlignment.Center));

            dict.Add("花", "04");
            dict.Add("動物", "01");
            dict.Add("人物", "02");
            dict.Add("風(fēng)景", "03");
        }

        // 設(shè)置item 所屬分組
        private void SetItemGroup()
        {
            // 判斷每一項(xiàng)進(jìn)行分組
            for (int i = 0; i < lvList.Items.Count; i++)
            {
                foreach (ListViewGroup lvg in lvList.Groups)
                {
                    if (lvList.Items[i].Text.Substring(0, 2) == dict[lvg.Header])
                    {
                        lvList.Items[i].Group = lvg;
                        break;
                    }
                }
            }
        }

        // 以分組形式顯示
        private void btnGroupShow_Click(object sender, EventArgs e)
        {
            lvList.ShowGroups = true;

            this.SetDetailsData();
            this.SetItemGroup();

        }

    }
}

大圖標(biāo)模式顯示

在這里插入圖片描述

Tile模式 顯示

在這里插入圖片描述

分組顯示

在這里插入圖片描述

 到此這篇關(guān)于詳解C# winform ListView的基本操作的文章就介紹到這了,更多相關(guān)C# winform ListView內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論