【发布时间】:2017-11-27 03:06:34
【问题描述】:
我正在创建一个简单的基于表单的消息显示系统,每条消息都是一个 jpeg 图像,我想要实现的是当程序加载时(就在用户登录后)随机选择并显示其中一个 jpg,如果用户单击“下一步”按钮,则会显示另一个 jpg,直到全部显示为止。我想我需要将每个图像读入一个数组,然后从数组中随机选择一个,然后当用户单击 Next 时,继续移动到数组中的下一个项目。一个警告是我不希望程序锁定打开 jpg 文件,因为其他人需要能够删除它们。
我当前的代码如下,如果您能提供任何帮助和建议,我将不胜感激。
private void Form1_Load(object sender, EventArgs e)
{
var rand = new Random();
var files = Directory.GetFiles(@"\\server\screens\", "*.jpg");
pictureBox1.Image = System.Drawing.Bitmap.FromFile(files[rand.Next(files.Length)]);
}
private void buttonNextImage_Click(object sender, EventArgs e)
{
var rand = new Random();
var files = Directory.GetFiles(@"\\server\screens\", "*.jpg");
pictureBox1.Image = System.Drawing.Bitmap.FromFile(files[rand.Next(files.Length)]);
}
非常感谢 史蒂文
【问题讨论】:
-
您发布的代码到底有什么问题?
-
当前代码锁定文件打开,我不知道如何创建图像数组。谢谢
-
有一点值得指出...使用
rand.Next,您可能不会浏览数组中的所有文件。请参考my answer below了解如何进行洗牌/随机化。
标签: c# picturebox