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 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
- ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
- ¥15 gdf格式的脑电数据如何处理matlab
- ¥20 重新写的代码替换了之后运行hbuliderx就这样了
- ¥100 监控抖音用户作品更新可以微信公众号提醒
- ¥15 UE5 如何可以不渲染HDRIBackdrop背景
- ¥70 2048小游戏毕设项目
- ¥20 mysql架构,按照姓名分表
- ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
- ¥15 delphi webbrowser组件网页下拉菜单自动选择问题