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);
}
}
}
点击上一张,下一张的时候分别增加和减小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]);
}
}
}
运行结果如下图:
重命名图片,在末尾按固定格式加上有规律的数字,然后点上一张和下一张用名字后面的数字加减就好了