private void btnOpen_Click(object sender, EventArgs e)//打开
{
OpenFileDialog file = new OpenFileDialog();
file.InitialDirectory = ".";
file.Filter = "*.BMP;*.JPG;*.GIF|*.BMP;*.JPG;*.GIF"; // "所有文件(*.*)|*.*";
file.Multiselect = true; //鼠标多选
file.ShowDialog();
if (file.FileName != string.Empty)
{
try
{
picNum = 0;
pathname = file.FileName;//获得文件的绝对路径
picPath = file.FileNames;
picLength = picPath.Length;
this.panel_Picture.Load(picPath[0]);
// this.panel_Picture.Load(pathname);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
做了图片查看器,可以打开图片,现在想实现上一张下一张同文件夹内的图片,请大家指导
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 码老头 2021-12-10 14:04关注
点击上一张,下一张的时候分别增加和减小picNum的下标值,然后把picPath[picNum]的图片地址赋值给图片控件即可,伪代码如下:
private void btnNext_Click(object sender, EventArgs e) { picNum++; // 这里需要处理picNum是否超过了图片集合的最大下标值 panel_Picture.Image = Image.FromFile(picPath[picNum]); }
还是给你写一份完整的源码吧,示例代码如下:
namespace WinFormsApp1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private int picNum = 0; private string pathname = ""; private string[] picPath; private int picLength = 0; private void btnOpen_Click(object sender, EventArgs e) { OpenFileDialog file = new OpenFileDialog(); file.InitialDirectory = "."; file.Filter = "*.BMP;*.JPG;*.GIF;*.PNG|*.BMP;*.JPG;*.GIF;*.PNG"; // "所有文件(*.*)|*.*"; file.Multiselect = true; //鼠标多选 file.ShowDialog(); if (file.FileName != string.Empty) { try { picNum = 0; pathname = file.FileName;//获得文件的绝对路径 picPath = file.FileNames; picLength = picPath.Length; this.panel_Picture.Load(picPath[0]); // this.panel_Picture.Load(pathname); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } private void btnPrevious_Click(object sender, EventArgs e) { picNum--; if (picNum < 0) { MessageBox.Show("已经是第一张了"); picNum = 0; return; } panel_Picture.Image = Image.FromFile(picPath[picNum]); } private void btnNext_Click(object sender, EventArgs e) { picNum++; if (picNum > picLength - 1) { MessageBox.Show("已经是最后一张了"); picNum = picLength - 1; return; } panel_Picture.Image = Image.FromFile(picPath[picNum]); } } }
运行结果如下图:
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 一直显示正在等待HID—ISP
- ¥15 Python turtle 画图
- ¥15 关于大棚监测的pcb板设计
- ¥15 stm32开发clion时遇到的编译问题
- ¥15 lna设计 源简并电感型共源放大器
- ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
- ¥15 Vue3地图和异步函数使用
- ¥15 C++ yoloV5改写遇到的问题
- ¥20 win11修改中文用户名路径
- ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入