WYTC-C#-控制項ListView(列舉檢視)

本文介绍了C#中ListView控件的使用,包括添加项目、设置图像列表和为项目分配图像。详细讨论了ListView的重要属性如Activation、View、Columns等,并列举了常用方法如Items.Add和Items.Clear。同时,还展示了如何响应ItemActivate事件来实现不同功能。通过实例代码展示了如何根据用户选择在ListView中动态加载和显示不同内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 //ListView列舉檢視控制項
List重要的三項操作就是
1.加入項目(items) listview1.items.add("編輯")
2.設定一個影像清單(ImageList) listview.largimagelist=imgaelist1
3.為每個項目設定影像清單中的影像編號 listview.item[0].imageindex=0
//Listview的常用屬性
Activation 設定或取得ListView點一下就activate或者兩下就activate
SelectedIndices 設定或取得該項目被選取時所顯示的圖像編號
LargeImageList 設定或取得ListView控制項的“大圖示”表,資料類型為imagelist,設定此項目後將view屬性設為largicon就可以顯示大圖示
Smallimagelist 設定或取得listView控制項的"小圖示"表,資料類型為imagelist,高定此貢目後將view屬性設為smallicon就可以顯示小圖示
ex:listView1.LargeImageList=imagelist1
Items 取得ListView 控制項的項目集合
Items[A].ImageIndex 設定ListView控制項的第A個項目中,該項目所顯示的圖像編號,A為大於[-1]的整數
chcekboxes 設定或取得ListView控制項中每個項目的旁邊是否要顯示選取方塊
checkedItems 用來取得listview控制項中目前選取的項目
columns 用來設定或取得listviwe控制項中的所有欄位行道的集合,需設定此項目後將view屬性設為detil就可以顯示詳細清單看,或將view屬性設為tail該項目的資訊顯示於大圖示旁邊

ListVIew常用方法
Items.Add(s)  加入s,s為字串
items.clear() 移除所有項目

ListView常用事件
itemActivate 項止被actiovate時觸發。此時可透過selecteditems[0].text來取得目前被點選的項目
itemCheck 當listview中項目的核取狀態變更時觸發。
itemSelectionChanged 當listview中項目已選取狀態改變時觸發

//code ex:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace ListView_ex
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            listView1_Initial();
            timer1.Enabled = true;
        }

        private void listView1_Initial()
        {
            listView1_item_construct("主畫面");
            listView1.LargeImageList = listView1_imglist_construct("主畫面");
            listView1.Activation = ItemActivation.Standard;
            listView1.View = View.LargeIcon;
        }

        private void listView1_ItemActivate(object sender, EventArgs e)
        {
            switch (listView1.SelectedItems[0].Text)
            {
                case "回上一頁":
                    listView1_item_construct("主畫面");
                    break;

                case "人員管理":
                    listView1_item_construct("人員管理");
                    break;

                case "學生資料管理":
                    MessageBox.Show(listView1.SelectedItems[0].Text);
                    break;

                case "教職員資料管理":
                    MessageBox.Show(listView1.SelectedItems[0].Text);
                    break;

                case "招生系統":
                    MessageBox.Show(listView1.SelectedItems[0].Text);
                    break;
 
                case "教務管理":
                    listView1_item_construct("教務管理");
                    break;
                   
                case "學生選課":
                    MessageBox.Show(listView1.SelectedItems[0].Text);
                    break;

                case "課程維護":
                    MessageBox.Show(listView1.SelectedItems[0].Text);
                    break;

                case "成績管理":
                    MessageBox.Show(listView1.SelectedItems[0].Text);
                    break;

                case "上課管理":
                    MessageBox.Show(listView1.SelectedItems[0].Text);
                    break;


                case "財務管理":
                    listView1_item_construct("財務管理");
                    break;

                case "學生繳費":
                    MessageBox.Show(listView1.SelectedItems[0].Text);
                    break;

                case "教職員薪資":
                    MessageBox.Show(listView1.SelectedItems[0].Text);
                    break;

                case "系統維護":
                    listView1_item_construct("系統維護");
                    break;

                case "備份資料庫":
                    MessageBox.Show(listView1.SelectedItems[0].Text);
                    break;

                case "線上更新系統":
                    MessageBox.Show(listView1.SelectedItems[0].Text);
                    break;
            }
        }

        private void listView1_item_construct(string name)
        {
            listView1.Items.Clear();

            switch (name)
            {
                case "主畫面":
                    listView1.Items.Add("人員管理");
                    listView1.Items.Add("招生系統");
                    listView1.Items.Add("教務管理");
                    listView1.Items.Add("財務管理");
                    listView1.Items.Add("系統維護");
                    listView1_imglist_construct("主畫面");
                    listView1.LargeImageList = listView1_imglist_construct("主畫面");                  

                    break;

                case "人員管理":
                    listView1.Items.Add("回上一頁");
                    listView1.Items.Add("學生資料管理");
                    listView1.Items.Add("教職員資料管理");
                    listView1_imglist_construct("人員管理");
                    listView1.LargeImageList = listView1_imglist_construct("人員管理");
                    break;

                case "教務管理":
                    listView1.Items.Add("回上一頁");
                    listView1.Items.Add("學生選課");
                    listView1.Items.Add("課程維護");
                    listView1.Items.Add("成績管理");
                    listView1.Items.Add("上課管理");
                    listView1_imglist_construct("教務管理");
                    listView1.LargeImageList = listView1_imglist_construct("教務管理");
                    break;

                case "財務管理":
                    listView1.Items.Add("回上一頁");
                    listView1.Items.Add("學生繳費");
                    listView1.Items.Add("教職員薪資");
                    listView1_imglist_construct("財務管理");
                    listView1.LargeImageList = listView1_imglist_construct("財務管理");
                    break;

                case "系統維護":
                    listView1.Items.Add("回上一頁");
                    listView1.Items.Add("備份資料庫");
                    listView1.Items.Add("線上更新系統");
                    listView1_imglist_construct("系統維護");
                    listView1.LargeImageList = listView1_imglist_construct("系統維護");
                    break;
            }
        }

        private ImageList listView1_imglist_construct(string name)
        {
           
            System.Drawing.Size imgsize = new Size();
            imgsize.Height = 70;
            imgsize.Width = 70;

            ImageList imglist = new ImageList();
            imglist.ImageSize = imgsize;
           
            switch (name)
            {
                case "主畫面":
                imglist.Images.Add(Image.FromFile(@"../../img/A01.ico"));
                imglist.Images.Add(Image.FromFile(@"../../img/A02.jpg"));
                imglist.Images.Add(Image.FromFile(@"../../img/A03.ico"));
                imglist.Images.Add(Image.FromFile(@"../../img/A04.ico"));
                imglist.Images.Add(Image.FromFile(@"../../img/A05.ico"));
                break;

                case "人員管理":
                imglist.Images.Add(Image.FromFile(@"../../img/back.ico"));
                imglist.Images.Add(Image.FromFile(@"../../img/B01.ico"));
                imglist.Images.Add(Image.FromFile(@"../../img/B02.ico"));
                break;
          
                case "教務管理":
                imglist.Images.Add(Image.FromFile(@"../../img/back.ico"));
                imglist.Images.Add(Image.FromFile(@"../../img/C01.ico"));
                imglist.Images.Add(Image.FromFile(@"../../img/C02.ico"));
                imglist.Images.Add(Image.FromFile(@"../../img/C03.jpg"));
                imglist.Images.Add(Image.FromFile(@"../../img/C04.ico"));
                break;

                case "財務管理":
                imglist.Images.Add(Image.FromFile(@"../../img/back.ico"));
                imglist.Images.Add(Image.FromFile(@"../../img/D01.ico"));
                imglist.Images.Add(Image.FromFile(@"../../img/D01.ico"));
                break;

                case "系統維護":
                imglist.Images.Add(Image.FromFile(@"../../img/back.ico"));
                imglist.Images.Add(Image.FromFile(@"../../img/E01.ico"));
                imglist.Images.Add(Image.FromFile(@"../../img/E02.ico"));
                break;
            }

            for (int i = 0; i < listView1.Items.Count; i++)
            {
                listView1.Items[i].ImageIndex = i;
            }
           
            return imglist;
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            if ((pictureBox1.Left - panel1.Location.X) < -1700)
                pictureBox1.Left = panel1.Location.X;
            else
                pictureBox1.Left = pictureBox1.Location.X -1;
        }
    }
}

//code ex2:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace List_temp
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
      
        }

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (listBox1.SelectedIndex >= 0)
            {
                listView1.Items.Clear();
               
                System.Drawing.Size imgsize = new Size();
                ImageList imglist = new ImageList();
                imglist.ColorDepth = ColorDepth.Depth32Bit;
                imglist.Images.Clear();

                switch (listBox1.SelectedIndex.ToString())
                {                                 
                    case "0":  //SmallIcon(小圖示)
                        listView1.View = View.SmallIcon;
                        listView1.Items.Add("張三");
                        listView1.Items.Add("李四");

                        imgsize.Height = 20;
                        imgsize.Width = 20;
                        imglist.ImageSize = imgsize;

                        imglist.Images.Add(Image.FromFile(@"../../img/Kevin.jpg"));
                        imglist.Images.Add(Image.FromFile(@"../../img/Main.jpg"));

                        listView1.SmallImageList = imglist;
                        listView1.Items[0].ImageIndex = 0;
                        listView1.Items[1].ImageIndex = 1;

                        break;

                    case "1": //LargeIcon(預設值-大圖示)
                        listView1.View = View.LargeIcon;
                        listView1.Items.Add("張三");
                        listView1.Items.Add("李四");

                        imgsize.Height = 100;
                        imgsize.Width = 100;
                        imglist.ImageSize = imgsize;

                        imglist.Images.Add(Image.FromFile(@"../../img/Kevin.jpg"));
                        imglist.Images.Add(Image.FromFile(@"../../img/Main.jpg"));

                        listView1.LargeImageList = imglist;
                        listView1.Items[0].ImageIndex = 0;
                        listView1.Items[1].ImageIndex = 1;
                        break;

                    case "2": //Details(詳細清單)
                        listView1.View = View.Details;
                        listView1.GridLines = true;

                        listView1.Columns.Add("姓名");
                        listView1.Columns.Add("班級");
                        listView1.Columns.Add("學號");

                        listView1.Items.Add("張三");
                        listView1.Items[0].SubItems.Add("資工四");                    
                        listView1.Items[0].SubItems.Add("a234567");

                        listView1.Items.Add("李四");
                        listView1.Items[1].SubItems.Add("資工一");
                        listView1.Items[1].SubItems.Add("a765432");

                       
                        break;

                    case "3": //List(清單)
                        listView1.View = View.List;
                        listView1.Items.Add("張三");
                        listView1.Items.Add("李四");

                        imgsize.Height = 20;
                        imgsize.Width = 20;
                        imglist.ImageSize = imgsize;

                        imglist.Images.Add(Image.FromFile(@"../../img/Kevin.jpg"));
                        imglist.Images.Add(Image.FromFile(@"../../img/Main.jpg"));

                        listView1.SmallImageList = imglist;
                        listView1.Items[0].ImageIndex = 0;
                        listView1.Items[1].ImageIndex = 1;
                        break;

                    case "4": //Tile(所有Columns中該項目的資訊顯示於大圖式旁邊)
                       // listView1.View = View.LargeIcon;
                        listView1.View = View.Tile; 
                     
                        listView1.Columns.Add("姓名");
                        listView1.Columns.Add("班級");
                        listView1.Columns.Add("學號");

                        listView1.Items.Add("張三");
                        listView1.Items[0].SubItems.Add("資工四");
                        listView1.Items[0].SubItems.Add("a234567");

                        listView1.Items.Add("李四");
                        listView1.Items[1].SubItems.Add("資工一");
                        listView1.Items[1].SubItems.Add("a765432");


                        imglist.Images.Add(Image.FromFile(@"../../img/Kevin.jpg"));
                        imglist.Images.Add(Image.FromFile(@"../../img/Main.jpg"));

                        imgsize.Height = 100;
                        imgsize.Width = 100;
                        imglist.ImageSize = imgsize;
                        listView1.LargeImageList = imglist;

                        listView1.Items[0].ImageIndex = 0;
                        listView1.Items[1].ImageIndex = 1;

                        //listView1.TileSize = new Size(200, 100);

                        break;                    
                }
            }
            else
            {
                MessageBox.Show("選項錯誤!");
            }
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

物欲添彩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值