如何使用C#中的键盘箭头键导航图像。图像导航
我的第一个表单包含listView。列表视图包含10张缩略图格式的图片。图片来自相关文件夹。当我在列表视图中双击图像时,它将在新窗口中以大图形式打开。我想按照listview顺序在新窗口中导航图像。
如果我随机点击图像,想从所选图像导航图像。
它就像一个微软图片管理器。
Plz给我一个想法。
如何使用C#中的键盘箭头键导航图像。图像导航
我的第一个表单包含listView。列表视图包含10张缩略图格式的图片。图片来自相关文件夹。当我在列表视图中双击图像时,它将在新窗口中以大图形式打开。我想按照listview顺序在新窗口中导航图像。
如果我随机点击图像,想从所选图像导航图像。
它就像一个微软图片管理器。
Plz给我一个想法。
将表单的KeyPreview属性设置为True。然后这行代码添加到您的CS文件的顶部:
using System.IO;
接下来,你的表格的范围内,加这两条线:
private FileInfo[] _files;
private int _currentFile;
在窗体的Load事件,把这个代码:
DirectoryInfo dirinfo = new DirectoryInfo(
Path.Combine(Application.StartupPath, "images"));
_files = dirinfo.GetFiles();
_currentFile = 0;
Bitmap bmp = (Bitmap)Bitmap.FromFile(_files[_currentFile].FullName);
pictureBox1.Image = bmp;
最后,在窗体的KeyDown事件,把这个代码:
if (e.KeyCode == Keys.Down)
{
_currentFile--;
if (_currentFile < 0)
{
_currentFile = _files.Length - 1;
}
}
else if (e.KeyCode == Keys.Up)
{
_currentFile++;
if (_currentFile >= _files.Length)
{
_currentFile = 0;
}
}
Bitmap bmp = (Bitmap)Bitmap.FromFile(_files[_currentFile].FullName);
if (pictureBox1.Image != null)
{
pictureBox1.Image.Dispose();
}
pictureBox1.Image = bmp;
此代码假定您的窗体上有一个名为“pictureBox1”的PictureBox,并且它假定您的应用程序文件夹中有一个名为“\ images”的文件夹,其中包含要显示的图像文件。
As o。ww。在评论中提到,您可能希望通过调整PictureBox的大小来适应图像文件的尺寸来增强此代码。您可以通过将PictureBox的SizeMode属性设置为AutoSize(或将其设置为CenterImage,如果希望将整个图像保持在窗体中心)来实现。
非常感谢你Musi – nithi 2009-09-14 09:43:54
@vijaii:不客气。当你得到一个问题的答案时,通常选择它作为正确答案(点击选中标记)。 – MusiGenesis 2009-09-14 11:59:43
一个疑问穆西, 乌尔先前的代码工作完美,但有一个问题是,请检查我最近编辑的问题。 当我双击列表视图中的图像时,它将在新窗口中以大图形的形式打开。我想按照listview顺序在新窗口中导航图像。 PLZ给我一个主意。 – nithi 2009-09-14 12:21:57
我假设你指的是WinForm?为表单的按键事件添加事件处理程序,并根据需要更改图像源。我没有发布这个答案,因为它不够详细和具体。如果尺寸不同,您可能需要添加更多的图像更改处理。 – 2009-09-14 03:21:44