ListView trong lập trình C# Winform

Lập trình Winform cơ bản

5.0 (1 đánh giá)
Tạo bởi HowKteam Cập nhật lần cuối 00:30 03-02-2017 23.109 lượt xem 1 bình luận
Học nhanh

Danh sách bài học

ListView trong lập trình C# Winform

Dẫn nhập

Sức mạnh của hệ điều hành Window là không thể chối cãi. Và để tạo nên sức mạnh đó không thể thiếu những ứng dụng mạnh mẽ. Vậy để tạo ra những ứng dụng đó, người lập trình viên cần học cái gì?

Cùng nhau tìm hiểu serial Lập trình Winform.

Nội dung

Form1.cs

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

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

            LoadListview();
        }

        ImageList imgListSmall;
        ImageList imgListLarge;

        void LoadImageList()
        {
            imgListLarge = new ImageList() { ImageSize = new Size(68,68)};
            imgListLarge.Images.Add(new Bitmap(Application.StartupPath + "\\Images\\1.png"));
            imgListLarge.Images.Add(new Bitmap(Application.StartupPath + "\\Images\\2.png"));
            imgListLarge.Images.Add(new Bitmap(Application.StartupPath + "\\Images\\3.png"));


            imgListSmall = new ImageList() { ImageSize = new Size(16, 16) };
            imgListSmall.Images.Add(new Bitmap(Application.StartupPath + "\\Images\\1.png"));
            imgListSmall.Images.Add(new Bitmap(Application.StartupPath + "\\Images\\2.png"));
            imgListSmall.Images.Add(new Bitmap(Application.StartupPath + "\\Images\\3.png"));
        }

        void LoadListview()
        {
            LoadImageList();

            lsvShow.FullRowSelect = true;
            lsvShow.GridLines = true;
            lsvShow.LargeImageList = imgListLarge;
            lsvShow.SmallImageList = imgListSmall;

            lsvShow.Columns.Add("Tên column 1");
            lsvShow.Columns.Add("Tên column 2");
            lsvShow.Columns.Add("Tên column 3");

            ListViewItem item1 = new ListViewItem();
            item1.Text = "Item1";
            item1.ImageIndex = 0;
            item1.SubItems.Add(new ListViewItem.ListViewSubItem(){Text = "Sub item 1"});
            item1.SubItems.Add(new ListViewItem.ListViewSubItem() { Text = "Sub item 2" });

            ListViewItem item2 = new ListViewItem();
            item2.Text = "Item2";
            item2.ImageIndex = 1;
            item2.SubItems.Add(new ListViewItem.ListViewSubItem(){Text = "Sub item 1"});
            item2.SubItems.Add(new ListViewItem.ListViewSubItem(){Text = "Sub item 2"});

            ListViewItem item3 = new ListViewItem();
            item3.Text = "Item3";
            item3.ImageIndex = 2;
            item3.SubItems.Add(new ListViewItem.ListViewSubItem() { Text = "Sub item 1" });
            item3.SubItems.Add(new ListViewItem.ListViewSubItem() { Text = "Sub item 2" });

            lsvShow.Items.Add(item1);
            lsvShow.Items.Add(item2);
            lsvShow.Items.Add(item3);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            lsvShow.View = View.LargeIcon;

            lsvShow.CheckBoxes = false;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            lsvShow.View = View.Details;

            lsvShow.CheckBoxes = true;
        }

        private void button3_Click(object sender, EventArgs e)
        {
            lsvShow.View = View.SmallIcon;

            lsvShow.CheckBoxes = false;
        }

        private void lsvShow_SelectedIndexChanged(object sender, EventArgs e)
        {
            ListView lsv = sender as ListView;

            if (lsv.SelectedItems.Count > 0)
            {
                foreach (ListViewItem item in lsv.SelectedItems)
                {                    
                    MessageBox.Show(item.Text);
                }                
            }
        }
    }
}

Form1.Designer.cs

namespace ListViewGUI
{
    partial class Form1
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.lsvShow = new System.Windows.Forms.ListView();
            this.button1 = new System.Windows.Forms.Button();
            this.button2 = new System.Windows.Forms.Button();
            this.button3 = new System.Windows.Forms.Button();
            this.SuspendLayout();
            // 
            // lsvShow
            // 
            this.lsvShow.Location = new System.Drawing.Point(12, 12);
            this.lsvShow.Name = "lsvShow";
            this.lsvShow.Size = new System.Drawing.Size(493, 424);
            this.lsvShow.TabIndex = 0;
            this.lsvShow.UseCompatibleStateImageBehavior = false;
            this.lsvShow.SelectedIndexChanged += new System.EventHandler(this.lsvShow_SelectedIndexChanged);
            // 
            // button1
            // 
            this.button1.Location = new System.Drawing.Point(511, 12);
            this.button1.Name = "button1";
            this.button1.Size = new System.Drawing.Size(75, 23);
            this.button1.TabIndex = 1;
            this.button1.Text = "largeIcon";
            this.button1.UseVisualStyleBackColor = true;
            this.button1.Click += new System.EventHandler(this.button1_Click);
            // 
            // button2
            // 
            this.button2.Location = new System.Drawing.Point(511, 41);
            this.button2.Name = "button2";
            this.button2.Size = new System.Drawing.Size(75, 23);
            this.button2.TabIndex = 2;
            this.button2.Text = "Details";
            this.button2.UseVisualStyleBackColor = true;
            this.button2.Click += new System.EventHandler(this.button2_Click);
            // 
            // button3
            // 
            this.button3.Location = new System.Drawing.Point(511, 70);
            this.button3.Name = "button3";
            this.button3.Size = new System.Drawing.Size(75, 23);
            this.button3.TabIndex = 3;
            this.button3.Text = "smallIcon";
            this.button3.UseVisualStyleBackColor = true;
            this.button3.Click += new System.EventHandler(this.button3_Click);
            // 
            // Form1
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(715, 448);
            this.Controls.Add(this.button3);
            this.Controls.Add(this.button2);
            this.Controls.Add(this.button1);
            this.Controls.Add(this.lsvShow);
            this.Name = "Form1";
            this.Text = "Form1";
            this.ResumeLayout(false);

        }

        #endregion

        private System.Windows.Forms.ListView lsvShow;
        private System.Windows.Forms.Button button1;
        private System.Windows.Forms.Button button2;
        private System.Windows.Forms.Button button3;

    }
}

Download project

Kết luận

Bài sau chúng ta sẽ cùng tìm hiểu về TreeView trong lập trình C# Winform.

Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.


Thảo luận

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần BÌNH LUẬN bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.

Nội dung bài viết

Tác giả

Khóa học

Lập trình Winform cơ bản

Lập trình Winform cơ bản

Đánh giá

Nguyễn Văn Phước đã đánh giá 19:38 01-03-2019

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
Khải App đã bình luận 21:49 31-07-2017

Anh ơi có cách nào đưa dữ liệu vào từng cột trong Listview đc ko ạ?

Không có video.