问题描述
CS结构,图片保存在数据库,是image类型的。如果采用PictureBox显示的,则只能显示一张图片。现在的要求是这样的,图片要批量显示出来,以多行多列的形式显示。如果动态构建多个PictureBox,同时要显示一千张图片的话,则消耗的内存比较大,这样还有一个问题,就是滚动条的问题。所以这样方式就不是很好。另一种方法使用ListView来显示,则只能把图片显示成图标,这样也行。大家有什么解决办法
解决方案
解决方案二:
一千张图一下子也看不了,可以先显示成图标,人为选择后用PictureBox大图显示
解决方案三:
引用楼主gdoucwx的回复:
CS结构,图片保存在数据库,是image类型的。如果采用PictureBox显示的,则只能显示一张图片。现在的要求是这样的,图片要批量显示出来,以多行多列的形式显示。如果动态构建多个PictureBox,同时要显示一千张图片的话,则消耗的内存比较大,这样还有一个问题,就是滚动条的问题。所以这样方式就不是很好。另一种方法使用ListView来显示,则只能把图片显示成图标,这样也行。大家有什么解决办法……
可不可以listview显示缩略图,当用户点击缩略图用picture显示大图呢?
解决方案四:
引用2楼chinajiyong的回复:
引用楼主gdoucwx的回复:CS结构,图片保存在数据库,是image类型的。如果采用PictureBox显示的,则只能显示一张图片。现在的要求是这样的,图片要批量显示出来,以多行多列的形式显示。如果动态构建多个PictureBox,同时要显示一千张图片的话,则消耗的内存比较大,这样还有一个问题,就是滚动条的问题。所以这样方式就不是很好。另一种方法使用ListView来显示,则只能把图片……
效果这种[img=http://hiphotos.baidu.com/zhidao/abpic/item/63d9f2d3ba8952f5a9ec9ab4.jpg?t=1332207519975][/img]
解决方案五:
简单代码privatestring[]files;publicForm1(){InitializeComponent();}privatevoidForm1_Load(objectsender,EventArgse){DialogResultdr=this.openFileDialog1.ShowDialog();if(dr==DialogResult.OK){this.files=this.openFileDialog1.FileNames;for(inti=0;i<files.Length;i++){this.imageList1.Images.Add(Image.FromFile(this.files[i]));this.listView1.Items.Add(this.files[i].Substring(this.files[i].LastIndexOf(@"")+1),i);}}}privatevoidlistView1_SelectedIndexChanged(objectsender,EventArgse){if(this.listView1.SelectedItems.Count>0)this.pictureBox1.ImageLocation=this.files[this.listView1.SelectedItems[0].Index];}
解决方案六:
我隐约记得好想有一个控件的什么布局可以解决批量显示图标的问题忘记那个控件了--!
解决方案七:
这里的批量显示图片主要的目的是图片之间的对比,就是想一目了然的看到两张图片之间的区别。如果使用点击ListView的图标就在PictureBox显示大图,这样就达不到图片对比的效果,所以图片还是要一下子批量的全部显示出来。
解决方案八:
引用6楼gdoucwx的回复:
这里的批量显示图片主要的目的是图片之间的对比,就是想一目了然的看到两张图片之间的区别。如果使用点击ListView的图标就在PictureBox显示大图,这样就达不到图片对比的效果,所以图片还是要一下子批量的全部显示出来。
窗体也就那么大,你用滚动条或者滑动的效果也不好,
解决方案九:
引用7楼chinajiyong的回复:
引用6楼gdoucwx的回复:这里的批量显示图片主要的目的是图片之间的对比,就是想一目了然的看到两张图片之间的区别。如果使用点击ListView的图标就在PictureBox显示大图,这样就达不到图片对比的效果,所以图片还是要一下子批量的全部显示出来。窗体也就那么大,你用滚动条或者滑动的效果也不好,
确实是,这样批量全部显示确实对系统的运行也不是那么理想。现在换一种说法,打个比方,要批量显示12多张图片,显示的格式是3行4列的,不用去拖12个PictureBox出来,用什么控件或办法能做出这个效果呢?
解决方案十:
顶,在winform中,有什么办法做到像webform那样的显示多行多列的图像出来呢?
解决方案十一:
http://www.atalasoft.com