Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 显示指定位置的随机GIF图像_C#_Visual Studio_Visual Studio 2017 - Fatal编程技术网

C# 显示指定位置的随机GIF图像

C# 显示指定位置的随机GIF图像,c#,visual-studio,visual-studio-2017,C#,Visual Studio,Visual Studio 2017,我已经在我的人工智能上工作了一段时间,但是我似乎无法让我的人工智能从这个位置将随机的GIF图像显示到我的图片框中 C:\Users\scatt\Desktop\Marvel-J.A.R.V.I.S-Personal-Assistant-Winform-C--master\Marvel J.A.R.V.I.S Personal Assistant\Resources\AIPICS\ 需要什么的例子 string[] imagePaths1 = Directory.GetFiles(@"C:\Use

我已经在我的人工智能上工作了一段时间,但是我似乎无法让我的人工智能从这个位置将随机的GIF图像显示到我的图片框中

C:\Users\scatt\Desktop\Marvel-J.A.R.V.I.S-Personal-Assistant-Winform-C--master\Marvel J.A.R.V.I.S Personal Assistant\Resources\AIPICS\

需要什么的例子

string[] imagePaths1 = Directory.GetFiles(@"C:\Users\scatt\Desktop\Marvel-J.A.R.V.I.S-Personal-Assistant-Winform-C--master\images", "*.gif", SearchOption.AllDirectories);

但我需要的不是音频文件,而是GIF图像

这是我一直在使用的代码示例

case "test":
                int image1;
                Random randim = new Random();
                image1 = randim.Next(0, 4);

                switch (image1)
                {
                    case 0:
                        pictureBox2.Image = Image.FromFile(@"C:\Users\scatt\Desktop\Marvel-J.A.R.V.I.S-Personal-Assistant-Winform-C--master\Marvel J.A.R.V.I.S Personal Assistant\Resources\AIPICS\giphy.gif");
                        pictureBox2.SizeMode = PictureBoxSizeMode.StretchImage;
                        pictureBox1.CancelAsync();
                        break;
                    case 1:
                        pictureBox2.Image = Image.FromFile(@"C:\Users\scatt\Desktop\Marvel-J.A.R.V.I.S-Personal-Assistant-Winform-C--master\Marvel J.A.R.V.I.S Personal Assistant\Resources\AIPICS\Party!.gif");
                        pictureBox2.SizeMode = PictureBoxSizeMode.StretchImage;
                        pictureBox1.CancelAsync();
                        break;
                    case 2:
                        pictureBox2.Image = Image.FromFile(@"C:\Users\scatt\Desktop\Marvel-J.A.R.V.I.S-Personal-Assistant-Winform-C--master\Marvel J.A.R.V.I.S Personal Assistant\Resources\AIPICS\Staredown.gif");
                        pictureBox2.SizeMode = PictureBoxSizeMode.StretchImage;
                        pictureBox1.CancelAsync();
                        break;

                    case 3:
                        pictureBox2.Image = Image.FromFile(@"C:\Users\scatt\Desktop\Marvel-J.A.R.V.I.S-Personal-Assistant-Winform-C--master\Marvel J.A.R.V.I.S Personal Assistant\Resources\AIPICS\tenor.gif");
                        pictureBox2.SizeMode = PictureBoxSizeMode.StretchImage;
                        pictureBox1.CancelAsync();
                        break;

                    case 4:
                        pictureBox2.Image = Image.FromFile(@"C:\Users\scatt\Desktop\Marvel-J.A.R.V.I.S-Personal-Assistant-Winform-C--master\Marvel J.A.R.V.I.S Personal Assistant\Resources\AIPICS\idgaf-obama.gif");
                        pictureBox2.SizeMode = PictureBoxSizeMode.StretchImage;
                        pictureBox1.CancelAsync();
                        break;

                    case 5:
                        pictureBox2.Image = Image.FromFile(@"C:\Users\scatt\Desktop\Marvel-J.A.R.V.I.S-Personal-Assistant-Winform-C--master\Marvel J.A.R.V.I.S Personal Assistant\Resources\AIPICS\homealone.gif");
                        pictureBox2.SizeMode = PictureBoxSizeMode.StretchImage;
                        pictureBox1.CancelAsync();
                        break;

                    case 6:
                        pictureBox2.Image = Image.FromFile(@"C:\Users\scatt\Desktop\Marvel-J.A.R.V.I.S-Personal-Assistant-Winform-C--master\Marvel J.A.R.V.I.S Personal Assistant\Resources\AIPICS\giphy.gif");
                        pictureBox2.SizeMode = PictureBoxSizeMode.StretchImage;
                        pictureBox1.CancelAsync();
                        break;

                    case 7:
                        pictureBox2.Image = Image.FromFile(@"C:\Users\scatt\Desktop\Marvel-J.A.R.V.I.S-Personal-Assistant-Winform-C--master\Marvel J.A.R.V.I.S Personal Assistant\Resources\AIPICS\fastsoccer.gif");
                        pictureBox2.SizeMode = PictureBoxSizeMode.StretchImage;
                        pictureBox1.CancelAsync();
                        break;

                    case 8:
                        pictureBox2.Image = Image.FromFile(@"C:\Users\scatt\Desktop\Marvel-J.A.R.V.I.S-Personal-Assistant-Winform-C--master\Marvel J.A.R.V.I.S Personal Assistant\Resources\AIPICS\wallstreet.gif");
                        pictureBox2.SizeMode = PictureBoxSizeMode.StretchImage;
                        pictureBox1.CancelAsync();
                        break;


                    case 9:
                        pictureBox2.Image = Image.FromFile(@"C:\Users\scatt\Desktop\Marvel-J.A.R.V.I.S-Personal-Assistant-Winform-C--master\Marvel J.A.R.V.I.S Personal Assistant\Resources\AIPICS\DYjbX.gif");
                        pictureBox2.SizeMode = PictureBoxSizeMode.StretchImage;
                        pictureBox1.CancelAsync();
                        break;



                }

您可以使用以下功能:-

var basePath =
    @"C:\Users\scatt\Desktop\Marvel-J.A.R.V.I.S-Personal-Assistant-Winform-C--master\Marvel J.A.R.V.I.S Personal Assistant\Resources\AIPICS\";

var pics = System.IO.Directory.EnumerateFiles(basePath, "*.gif").ToArray();
var randomPic = pics.OrderBy(p => Guid.NewGuid()).First();
pictureBox2.Image = MediaTypeNames.Image.FromFile(randomPic);
pictureBox2.SizeMode = PictureBoxSizeMode.StretchImage;
pictureBox1.CancelAsync();

此代码可能会帮助您开始:

var random = new Random();
var folder = @"C:\Users\scatt\Desktop\Marvel-J.A.R.V.I.S-Personal-Assistant-Winform-C--master\images";

var fileNames = Directory.EnumerateFiles(folder, "*.gif", SearchOption.AllDirectories)
    .Select((file, index) => new {file, index})
    .ToDictionary(z => z.index, y => y.file);

var randomPic = fileNames[random.Next(0, fileNames.Count)];
pictureBox2.Image = MediaTypeNames.Image.FromFile(Path.Combine(folder, randomPic));
pictureBox2.SizeMode = PictureBoxSizeMode.StretchImage;
pictureBox1.CancelAsync();
主要的事情是将文件名放入数据结构中。我使用
字典
-您可以使用
列表
,使用:

var random = new Random();
var folder = @"C:\Users\scatt\Desktop\Marvel-J.A.R.V.I.S-Personal-Assistant-Winform-C--master\images";

var fileNames = Directory.EnumerateFiles(folder, "*.gif", SearchOption.AllDirectories).ToList();

var randomPic = fileNames[random.Next(0, fileNames.Count)];
pictureBox2.Image = MediaTypeNames.Image.FromFile(Path.Combine(folder, randomPic));
pictureBox2.SizeMode = PictureBoxSizeMode.StretchImage;
pictureBox1.CancelAsync();
然后随机选择一个文件名并用该文件名填充
pictureBox2


您还应该将
随机
移动为
静态
字段。

您的代码现在做什么?你想让它做什么呢?很高兴知道谢谢。我还在学习,我猜这是我在“switch(image1){case 0:pictureBox2.Image=Image.FromFile”中添加的随机抛出量(@“C:\Users\scatt\Desktop\Marvel-J.A.R.V.I.S-Personal-Assistant-Winform-C--master\Marvel J.A.R.V.I.S Personal Assistant\Resources\AIPICS\giphy.gif”);pictureBox2.SizeMode=PictureBoxSizeMode.StretchImage;pictureBox1.CancelAsync();break;'现在它只会随机化我在案例1、案例2、案例3中添加的图像。@mjwillsm我的问题是如何将文件夹中的gif图像随机化到图片框中,而不是像我原来那样,我已经尝试了多次,所以我想我会要求help和社区非常乐于助人,感谢大家的帮助,有这么多好主意!还有我可以感谢你们的指点。哇,这是一个更容易的视觉效果,不完全是我的意思,但更容易谢谢你们!!!我不是故意的,我按错了按钮。@Keith NicholasSorry,我修好了。你们没有否决我:)你们没有足够的声誉要做到这一点,请不要使用
Guid.NewGuid()
来生成熵。
Guid
保证是唯一的,而不是随机的。请始终使用RNG。为什么要从索引创建字典?为什么不创建一个数组(从中可以自然索引)?这同样适用于@Enigmativity。我使用
字典
部分是为了尝试向OP教授一些新内容。我将更改答案,以明确显示
列表
代码-谢谢您的提问。