【发布时间】:2011-11-28 07:41:48
【问题描述】:
我仍在学习基础知识,我正在制作一个“随机角色生成器”,为“世界上最无聊的英雄”创建基本统计数据。
我已包含一个图像框(名为 charbox),在生成字符时,它应该显示三个 .jpg 文件之一。
我已将所有 3 张 jpg 文件添加到我的解决方案中(它们都列在解决方案资源管理器的图像文件夹中),但我无法获得选择一个显示的按钮。
我正在使用一个开关(很可能有一个完全错误的语法),它应该使用一个随机整数,我已经声明为“img”,范围为 (0,3)。
这是我从另一个站点提取的代码,但它在我的程序中不起作用:
switch (img)
{
case 1:
charbox.Source = new BitmapImage(new Uri(@"C:\Users\Otis\documents\visual studio 2010\Projects\WpfApplication2\WpfApplication2\Images\guy1.jpg", UriKind.Relative));
break;
case 2:
charbox.Source = new BitmapImage(new Uri(@"C:\Users\Otis\documents\visual studio 2010\Projects\WpfApplication2\WpfApplication2\Images\guy2.jpg", UriKind.Relative));
break;
default:
charbox.Source = new BitmapImage(new Uri(@"C:\Users\Otis\documents\visual studio 2010\Projects\WpfApplication2\WpfApplication2\Images\guy3.jpg", UriKind.Relative));
break;
}
知道我怎样才能完成这项工作吗?
-编辑-
我做了一些查看,并将我的图像选择代码更改为:
#region Image Selection
bmguy.BeginInit();
switch (img)
{
case 0:
bmguy.UriSource = new Uri(@"C:\Users\Otis\Pictures\guy1.jpg");
break;
case 1:
bmguy.UriSource = new Uri(@"C:\Users\Otis\Pictures\guy2.jpg");
break;
case 2:
bmguy.UriSource = new Uri(@"C:\Users\Otis\Pictures\guy3.jpg");
break;
}
bmguy.EndInit();
charbox.Source = bmguy;
#endregion
其中 bmguy 是一个位图图像,声明为全局变量,而 switch (img) 仍然使用 1-3 随机数。
所以,现在当我单击生成图像时,会加载 guy1.jpg。但它始终是 guy1.jpg,如果我再次单击生成,它会引发关于位图初始化仅发生一次的错误。
我应该使用三个单独的位图图像,还是可以使用一个并按照我在开关中尝试的那样更改文件路径?
【问题讨论】:
-
点击事件中的完整代码是什么?
-
使用更新代码编辑的问题。我忽略了随机选择的球员统计数据,因为它们都运行良好并且似乎不会影响我的形象。
标签: c# image switch-statement