winform绑定多张图片
开发winform程序的时候经常设计到要显示多张图片的问题,其解决思路一般是先遍历文件夹中的所有图片,然后再把这些图片添加到ImageList控件中,最后再绑定显示出来。这里我们介绍两种绑定的方法:
(一)动态生成PictureBox绑定图片
(1)先在界面添加ImageList和PictureBox控件
(2)遍历文件夹中的所有图片,并添加到ImageList中
(3)根据图片的数量来动态生成PictureBox,并依次绑定显示
1 public partial class Form1 : Form 2 { 3 public Form1() 4 { 5 InitializeComponent(); 6 string[] arrFileNames = System.IO.Directory.GetFiles(@"E:\五月天\Q版五月天"); 7 Image img = null; 8 foreach (string name in arrFileNames) 9 { 10 img = Image.FromFile(name); 11 imageList1.Images.Add(img); 12 } 13 14 PictureBox pb; 15 for (int i = 0; i < arrFileNames.Length; i++) 16 { 17 pb = new PictureBox(); 18 pb.Width = 130; 19 pb.Height = 170; 20 pb.Image = imageList1.Images[i]; 21 pb.Location = new System.Drawing.Point(0, i * 160); 22 panel1.Controls.Add(pb); 23 } 24 } 25 }
View Code
(二)ListView绑定多张图片
其大概思路同上,不啰嗦了,直接附上代码
1 public partial class Form1 : Form 2 { 3 public Form1() 4 { 5 InitializeComponent(); 6 try 7 { 8 List<string> tifNames = new List<string>(); 9 string path = @"E:\五月天\Q版五月天"; 10 DirectoryInfo TheFolder = new DirectoryInfo(path);//文件路径 11 imgListPhoto.Images.Clear(); 12 for (int i = 0; i < TheFolder.GetFiles().Length; i++) //遍历文件夹 13 { 14 if (TheFolder.GetFiles()[i].Length > 0 && TheFolder.GetFiles()[i].Extension == ".jpg") //或者jpg,png 文件大小要大于0且是图片文件 15 { 16 Image image = Image.FromFile(TheFolder.GetFiles()[i].DirectoryName + "\\" + TheFolder.GetFiles()[i].Name); //获取文件 17 tifNames.Add(TheFolder.GetFiles()[i].Name);//添加文件名 18 imgListPhoto.Images.Add(image);//添加图片 19 } 20 } 21 //初始化设置 22 this.listView1.View = View.LargeIcon; 23 this.listView1.LargeImageList = this.imgListPhoto; 24 25 //开始绑定 26 this.listView1.BeginUpdate(); 27 this.listView1.Items.Clear(); 28 ListViewItem items = new ListViewItem(); 29 items.SubItems.Clear(); 30 for (int i = 0; i < tifNames.Count; i++) 31 { 32 ListViewItem lvi = new ListViewItem(); 33 lvi.ImageIndex = i; 34 lvi.Text = tifNames[i]; 35 this.listView1.Items.Add(lvi); 36 Thread.Sleep(200); 37 } 38 this.listView1.EndUpdate(); 39 } 40 catch (Exception ex) 41 { 42 //MessageBox.Show("Error"); 43 throw new Exception(ex.Message); 44 } 45 } 46 }
View Code
个人建议还是用ListView,而动态生成控件则可作为一种思路,在其他很多方面都可以用到的
转载于:https://www.cnblogs.com/weizhengLoveMayDay/p/3330894.html
winform绑定多张图片相关推荐
- [Winform]DataGridView列自适应宽度
引言 在做winform项目中,数据控件DataGridView的使用多多少少是会用到的,如果不设置它的属性,默认情况下是不会自适应宽度的,你想查看某项的数据,就不得不将标题栏拖来拖去,挺烦的. 方法 ...
- js阻止ajax继续请求,js 拦截全局 ajax 请求
Vimium使用快捷键总结 chrome 快捷键: ctrl+w 关闭当前标签 ctrl+t 新建标签 gg行首 shift+g 行尾 Vimium使用快捷键总结 j, : Scroll down ...
- db2主键自增和oracle,oracle_浅析常用数据库的自增字段创建方法汇总,DB2复制代码 代码如下:CREATEnbsp - phpStudy...
浅析常用数据库的自增字段创建方法汇总 DB2 CREATE TABLE T1 ( id INTEGER NOT NULL GENERATED ALWAYS AS IDENTIT ...
- 腾讯微搭低代码(预约)总体介绍——工作室专用(客户端)
目录 1.项目背景 2.需求分析 3.数据源设计 4.小程序的创建 4.1 首页的创建 4.2工作室页面的创建 4.3我的页面的创建 4.4各项功能的实现 4.4.1轮播图片的上传 4.4.2点击组件 ...
- unity3d制作RPG游戏系列(4)——UI界面
个人博客文章链接:http://www.huqj.top/article?id=161 游戏中除了3d场景以外,UI界面也是很重要的一部分,例如主角的头像.血条.背包.按钮等. 下面是myrpg中的简 ...
- combox数据过滤 wpf_WPF combox数据绑定的问题
WPF中的Combox绑定表面看起来似乎比winform重的winform绑定更复杂 但是,不容忽视的是wpf中的combox的数据对象绑定绑定的是对象,比如用Messagebox.show(comb ...
- WinForm下ComboBox获取绑定对象集的SelectedValue补充
在上文<WinForm下ComboBox设定SelectedValue总结>中,我列举了出现不能正常获取SlectedValue的一些方法.原文写得比较乱,引起读者的理解分歧,在此表示歉意 ...
- .Net平台Winform两个ComboBox控件绑定同一个数据源
今天WINFROM编程遇到这么一个问题:是有关WINFORM中两个comboBox控件绑定同一个数据源的问题,在窗体的界面上有两个comboBox,我在Form1_Load中对他们做了数据绑定(具体代 ...
- WinForm中Combobox绑定值问题
好久没写过WinForm程序了,昨天闲来无事就试着写个玩玩.界面中有两个combobox控件,第二个combobox控件中绑定值是根据第一个combobox值而定的.当时自己写的代码是: 1 priv ...
最新文章
- 【Junit】BeforeClass、Before、After、AfterClass
- activemq高级客户端选项
- linux gcc 与 glibc 的关系 glibc版本查看
- [Spring MVC] - @ModelAttribute使用
- 【Linux】3.dpkg、apt安装卸载软件
- 互联网账户系统的具体实现
- 案例|自建or现成工具?小型创业团队敏捷研发探索
- 大工13秋 c/c++语言程序设计 在线作业3,大工19秋《JavaScript基础教程与应用》在线作业3【满分答案】...
- 事务日志的物理和逻辑构架
- python实现决策树ID3算法
- centos6配置mysql5.7_CentOS 6.7 下 MYSQL 5.7 的安装与配置
- php如何获取当前的cookie,怎么获取cookie的值
- C语言图形编程|设置位置
- requests 使用 socks5 协议 的另外一种方式
- php ucfirst,Arale源码解析(3)——Base模块和Aspect模块
- python与图像处理书籍_数字图像处理与Python实现
- android studio无法连接小米手机问题解决
- Docker安装mysql5.7
- 很强大,并且易于使用,更重要的是免费的一个分区工具:分区助手
- saber软件安装常见问题