c#应用:简单的图片查看器

在winform中,利用目录选择对话框,pictureBox,listBox,textBox,以及一个Button可以实现一个简单图片查看器的功能,在这里做一下简单的介绍。首先我们进行简单的布局并给控件设置合适的name。

在这里插入图片描述
首先我们在文本框里加载出图片文件夹的路径

private void browseBtn_Click(object sender, EventArgs e)
        {
            FolderBrowserDialog dlg = new FolderBrowserDialog();
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                string dir = dlg.SelectedPath;

                this.pathField.Text = dir;

                // 加载图片列表
                ShowPictureList(dir);
            }
            

其次我们加载出来文件夹中所有照片并设置第一张照片默认显示:

private void ShowPictureList(string dir)
        {
            // 清空显示
            listField.Items.Clear();

            // 遍历所有的文件,检查文件名后缀
            string[] fff = Directory.GetFiles(dir);
            foreach (string f in fff)
            {
                if(f.EndsWith(".jpg") 
                    || f.EndsWith(".jpeg")
                    || f.EndsWith(".png"))
                {
                    // 取得文件名
                    PictureListItem item = new PictureListItem();
                    item.filePath = f;
                    item.name = Path.GetFileName(f);

                    // 加到列表框显示
                    listField.Items.Add(item);
                }
            }

            // 默认打开第一个文件显示
            if (listField.Items.Count > 0) 
                listField.SetSelected(0, true);

        }

最后设置点击不同的图片,将图片显示到图片框中:

private void listField_SelectedIndexChanged(object sender, EventArgs e)
        {
            PictureListItem item = (PictureListItem)listField.SelectedItem;
            if (item == null) return;

            picField.Load(item.filePath);
        }

最后补充一下前面用到的类PictureListItem的定义:

class PictureListItem
    {
        public string name;
        public string filePath;

        public override string ToString()
        {
            return name;
        }
    }

在这里插入图片描述在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_48238667/article/details/106846965