C#中如何依此访问一个文件夹下的各个文件?
我正在用WPF做一个图片浏览器。比如我做2个button,一个叫Prev,一个叫Next。点Next后图片自动变成它所在文件夹中下一张图片。各位高手,帮帮忙啦!...
我正在用WPF做一个图片浏览器。比如我做2个button,一个叫Prev,一个叫Next。点Next后图片自动变成它所在文件夹中下一张图片。
各位高手,帮帮忙啦! 展开
各位高手,帮帮忙啦! 展开
4个回答
展开全部
简单的写了一个,看看符不符合你的要求 VS里写的没用过WPF
先放一个PictureBox和三个Button在窗体里,在加上下面的代码就行了
using System.IO;
using System.Collections.Generic;
using System.Drawing;
List<string> imageList;
Image image;
int imageIndex = 0;
//获取指定文件夹里图片的路径
private void button1_Click(object sender, EventArgs e)
{
imageList = new List<string>();
string[] files = Directory.GetFiles(@"D:\AAA");
for (int i = 0; i < files.Length; i++)
{
try
{
image = Image.FromFile(files[i]);//判断该文件是否为图片,当然你可以用更好的方法
imageList.Add(files[i]);
}
catch (Exception)
{
}
}
image = Image.FromFile(imageList[0]);
pictureBox1.Image = image;
button2.Enabled = false;
}
//上一张
private void button2_Click(object sender, EventArgs e)
{
imageIndex--;
button3.Enabled = true;
if (imageIndex == 0)
{
button2.Enabled = false;
image = Image.FromFile(imageList[0]);
pictureBox1.Image = image;
}
else
{
image = Image.FromFile(imageList[imageIndex]);
pictureBox1.Image = image;
}
}
//下一张
private void button3_Click(object sender, EventArgs e)
{
imageIndex++;
button2.Enabled = true;
if (imageIndex == imageList.Count - 1)
{
button3.Enabled = false;
image = Image.FromFile(imageList[imageList.Count - 1]);
pictureBox1.Image = image;
}
else
{
image = Image.FromFile(imageList[imageIndex]);
pictureBox1.Image = image;
}
}
先放一个PictureBox和三个Button在窗体里,在加上下面的代码就行了
using System.IO;
using System.Collections.Generic;
using System.Drawing;
List<string> imageList;
Image image;
int imageIndex = 0;
//获取指定文件夹里图片的路径
private void button1_Click(object sender, EventArgs e)
{
imageList = new List<string>();
string[] files = Directory.GetFiles(@"D:\AAA");
for (int i = 0; i < files.Length; i++)
{
try
{
image = Image.FromFile(files[i]);//判断该文件是否为图片,当然你可以用更好的方法
imageList.Add(files[i]);
}
catch (Exception)
{
}
}
image = Image.FromFile(imageList[0]);
pictureBox1.Image = image;
button2.Enabled = false;
}
//上一张
private void button2_Click(object sender, EventArgs e)
{
imageIndex--;
button3.Enabled = true;
if (imageIndex == 0)
{
button2.Enabled = false;
image = Image.FromFile(imageList[0]);
pictureBox1.Image = image;
}
else
{
image = Image.FromFile(imageList[imageIndex]);
pictureBox1.Image = image;
}
}
//下一张
private void button3_Click(object sender, EventArgs e)
{
imageIndex++;
button2.Enabled = true;
if (imageIndex == imageList.Count - 1)
{
button3.Enabled = false;
image = Image.FromFile(imageList[imageList.Count - 1]);
pictureBox1.Image = image;
}
else
{
image = Image.FromFile(imageList[imageIndex]);
pictureBox1.Image = image;
}
}
展开全部
如果使用 Image 控件来呈现图像的, 则改变 Image 的 Source 属性即可.
可以将 Source 属性 绑定到一个集合.
当集合的当前项改变时, Source 自动改变.
而该集合是文件夹中的图片 (BitmapImage 或者是 String).
注意 Source 引用的 Uri 要设置正确, 要知道 Uri 的工作方式, 可以看下相关的资料. (Pack 资源协议等).
可以将 Source 属性 绑定到一个集合.
当集合的当前项改变时, Source 自动改变.
而该集合是文件夹中的图片 (BitmapImage 或者是 String).
注意 Source 引用的 Uri 要设置正确, 要知道 Uri 的工作方式, 可以看下相关的资料. (Pack 资源协议等).
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我想到一个方法
但是···可能耗内存比较大
比如你指定了是哪个文件夹下的图像,记录下文件夹
然后你获取文件夹下所有文件,保存到一个字符串数组里··
要获取前一个或者后一个就简单多了
但是问题就是实现的时候可能还要多考虑其他因素
LZ看看可以参考不?我没学过WPF不知道和C#差别大吗···
但是···可能耗内存比较大
比如你指定了是哪个文件夹下的图像,记录下文件夹
然后你获取文件夹下所有文件,保存到一个字符串数组里··
要获取前一个或者后一个就简单多了
但是问题就是实现的时候可能还要多考虑其他因素
LZ看看可以参考不?我没学过WPF不知道和C#差别大吗···
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不用写这么多行的- =
判断文件名后缀。。例如*。BMP 等,依次将路径写入数组 。。挨着个读呗。。。。
判断文件名后缀。。例如*。BMP 等,依次将路径写入数组 。。挨着个读呗。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询