C#中动态生成picturebox的一些用法

       近期由于项目需要,开发一款图像显示软件,提供将加密的图像文件预览以及单独放大显示的功能,同时提供翻页的功能。从网上搜到一份开源的C#代码(本人之前对C#一窍不通),进行了优化,添加了手动翻页以及键盘上下键翻页功能,同时在标题处实时显示当前图像文件名。主窗口如下:

C#中动态生成picturebox的一些用法_第1张图片

子窗口如下:

C#中动态生成picturebox的一些用法_第2张图片

原理如下:

1.主窗口就是一个winform,添加按钮以及面板容器,这些都是基本功,就不介绍了。

2.主窗口pannel中的picturebox控件是动态生成的,根据事先定义好的列数以及行数进行排列,下一步就是装载图像

3.从给定的文件夹中读取文件

 string[] fileNames = Directory.GetFiles(folderPath, "*jx");//获取指定目录文件中的文件名称

4.依据pannel中定义的picturebox的数量分批将fileNames中的加密文件加载FileStream中,解密到Stream中,动态创建picturebox,从Stream加载image

5.每个picturebox添加DoubleClick事件,并获取相对于当前面板的坐标位置,从而获取双击的picturebox的索引,以便在子窗口中添加PreviewKeyDown事件时使用

6.父子窗口传递参数可以使用public static var 进行声明,调用时直接用 类名.var 访问即可

你可能感兴趣的:(C#,C#,图像)