8. ListView - sandeulsandeul/let-s-learning-C-winForm- GitHub Wiki

ListView

ํŒŒ์ผ ํƒ์ƒ‰๊ธฐ๊ฐ€ ์ฐพ์•„๋‚ธ ํŒŒ์ผ๋“ค์„ ๋‹ค์–‘ํ•œ ๋ฆฌ์ŠคํŠธ ๋ชจ์Šต์œผ๋กœ ๋ณด์—ฌ์ฃผ๋Š” ์ปจ๋“œ๋กค

ListView ๋ฐฉ์‹

  1. Details
  2. List
  3. Title
  4. LargeIcon
  5. SmallIcon

`namespace WindowsFormsApp2 { public partial class Form1 : Form {

    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        /*
         * ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์˜ ํŒŒ์ผ๋ฆฌ์ŠคํŠธ ์–ป๊ธฐ
         * using System.IO;๊ฐ€ ํ•„์ˆ˜๋กœ ์‚ฌ์šฉ๋œ๋‹ค. 
         *
         */

        // currdir์— ํ˜„์žฌ ํŒŒ์ผ์ด ์ €์žฅ๋  ์œ„์น˜ 
        string currdir = Environment.CurrentDirectory;
        // new DirectoryInfo(currdir) ๋ฅผ ํ†ตํ•ด์„œ
        // currdir์˜ ์ •๋ณด๋ฅผ ์ฝ์–ด๋“ค์ธ๋‹ค. 
        DirectoryInfo di = new DirectoryInfo(currdir);
        // di.GetFiles()๋ฅผ ํ†ตํ•ด di๊ฐ€ ๊ฐ€์ง„ ํŒŒ์ผ๋“ค์„ 
        // files์— ๋‹ด๋Š”๋‹ค. 
        FileInfo[] files = di.GetFiles();

        //๋ฆฌ์ŠคํŠธ ๋ทฐ ์•„์ด์ดํ…œ ์—…๋ฐ์ดํŠธ ์‹œ์ž‘ 
        // ์—…๋ฐ์ดํŠธ๊ฐ€ ์ข…๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ui ๊ฐฑ์‹  ์ค‘์ง€.
        listView1.BeginUpdate();

        // ๋ทฐ ๋ชจ๋“œ ์ง€์ •
        listView1.View = View.Details;

        // ์•„์ด์ฝ˜์„ ์œ„ํ•ด ์ด๋ฏธ์ง€ ์ง€์ •
        listView1.LargeImageList = imageList1;
        listView1.SmallImageList = imageList2;

        foreach(var fi in files)
        {
            //๊ฐ ํŒŒ์ผ๋ณ„๋กœ ListViewItem ๊ฐ์ฒด๋ฅผ ํ•˜๋‚˜์”ฉ ๋งŒ๋“ค๊ธฐ
            // ํŒŒ์ผ๋ช…, ์‚ฌ์ด์ฆˆ, ๋‚ ์งœ ์ •๋ณด๋ฅผ ์ถ”๊ฐ€ํ•จ.

            ListViewItem lvi = new ListViewItem(fi.Name);
            lvi.SubItems.Add(fi.Length.ToString());
            lvi.SubItems.Add(fi.LastWriteTime.ToString());
            lvi.ImageIndex = 0;

            //ListViewItem ๊ฐ์ฒด๋ฅผ Items ์†์„ฑ์— ์ถ”๊ฐ€ํ•˜๊ธฐ
            listView1.Items.Add(lvi);

        }
        // ์ปฌ๋Ÿผ๋ช…๊ณผ ์ปฌ๋Ÿผ ์‚ฌ์ด์ฆˆ๋ฅผ ์ง€์ •
        listView1.Columns.Add("ํŒŒ์ผ๋ช…", 200, HorizontalAlignment.Left);
        listView1.Columns.Add("์‚ฌ์ด์ฆˆ", 70, HorizontalAlignment.Left);
        listView1.Columns.Add("๋‚ ์งœ", 100, HorizontalAlignment.Left);

        //๋ฆฌ์ŠคํŠธ๋ทฐ๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•˜์—ฌ ๋ณด์—ฌ์คŒ
        listView1.EndUpdate();
    }

    private void radioDetails_CheckedChanged_1(object sender, EventArgs e)
    {
        listView1.View = View.Details;
    }

    private void radioTitle_CheckedChanged_1(object sender, EventArgs e)
    {
        listView1.View = View.Tile;
    }

    private void radioButton4_CheckedChanged(object sender, EventArgs e)
    {
        listView1.View = View.LargeIcon;
    }
    //View ๋ชจ๋“œ๋ฅผ ์ง€์ •


    private void radioButton5_CheckedChanged(object sender, EventArgs e)
    {
        listView1.View = View.SmallIcon;
    }

    private void radioList_CheckedChanged_1(object sender, EventArgs e)
    {
        listView1.View = View.List;
    }
}

} `