65.9K
CodeProject 正在变化。 阅读更多。
Home

C# 图像选择窗体

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.68/5 (9投票s)

2006年11月18日

CPOL

1分钟阅读

viewsIcon

57879

downloadIcon

1131

一个简单的窗体,用于显示大量图片,允许用户从列表中选择一张。

Sample Image - C__Image_Selection_form.png

引言

在应用程序开发过程中,有时如果能在互联网上找到可重用的代码,可以节省大量时间。我正在寻找一个工具,用于在窗体中显示图片,以便用户选择其中一张。搜索了一段时间后,我决定开发这个工具并在 CodeProject 上发布。这是一个简单的用户窗体,易于理解。你可以通过将这三个源代码文件添加到你的项目中来包含它。

显示窗体

有两种方法来加载图片。一种是填充名为 imgListString 数组,该数组包含要显示的文件列表

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 上找到了很多帮助;我希望这篇文章能帮助到其他人。

© . All rights reserved.