C# 图像选择窗体






2.68/5 (9投票s)
一个简单的窗体,用于显示大量图片,允许用户从列表中选择一张。
引言
在应用程序开发过程中,有时如果能在互联网上找到可重用的代码,可以节省大量时间。我正在寻找一个工具,用于在窗体中显示图片,以便用户选择其中一张。搜索了一段时间后,我决定开发这个工具并在 CodeProject 上发布。这是一个简单的用户窗体,易于理解。你可以通过将这三个源代码文件添加到你的项目中来包含它。
显示窗体
有两种方法来加载图片。一种是填充名为 imgList
的 String
数组,该数组包含要显示的文件列表
FormSelectImage form = new FormSelectImage();
form.imgSize = new Size( 200, 200 );
form.imgList = myListOfFiles;
if( form.ShowDialog() == DialogResult.OK )
{
String selectedImage = form.selectedImg;
}
另一种方法是调用函数 scanDirectory
。此函数扫描具有给定搜索模式的目录,并将找到的文件存储在 imgList
中。
FormSelectImage form = new FormSelectImage();
form.imgSize = new Size( 200, 200 );
form.scanDirectory( "C:\\myFiles", "*.jpg", System.IO.SearchOption.AllDirectories );
if( form.ShowDialog() == DialogResult.OK ) {
String selectedImage = form.selectedImg;
}
工作原理
窗体包含一个空的、可滚动的面板,当调用 onLoad
时将填充该面板。它为每张图片生成一个 PictureBox
,然后将图片添加到面板中。
foreach( String img in imgList )
{
PictureBox pb = new PictureBox();
pb.Size = imgSize;
pb.SizeMode = PictureBoxSizeMode.Zoom;
pb.Image = Image.FromFile( img );
pb.BackColor = Color.White;
pb.Click += new EventHandler( pb_Click );
pb.Tag = img;
panel1.Controls.Add( pb );
}
结束语
我喜欢开发,并且在 CodeProject 上找到了很多帮助;我希望这篇文章能帮助到其他人。