【发布时间】:2018-05-06 18:42:04
【问题描述】:
我正在制作一个基于文本的基本格斗游戏。我有一个名为 move 的课程。我的班级有一个名为DisplayName 的字符串变量。我有这个代码:
try
{
m1.Text = playerMoves[0].displayName;
}
catch (Exception)
{
m1.Visible = false;
}
try
{
m2.Text = playerMoves[1].displayName;
}
catch (Exception)
{
m2.Visible = false;
}
try
{
m3.Text = playerMoves[2].displayName;
}
catch (Exception)
{
m3.Visible = false;
}
try
{
m4.Text = playerMoves[3].displayName;
}
catch (Exception)
{
m4.Visible = false;
}
try
{
m5.Text = playerMoves[4].displayName;
}
catch (Exception)
{
m5.Visible = false;
}
try
{
m6.Text = playerMoves[5].displayName;
}
catch (Exception)
{
m6.Visible = false;
}
此代码位于开始战斗的按钮单击事件中。 m1、m2、m3、m4、m5、m6都是按键。它们都在运行上述代码之前显示的隐藏面板中。
所以,我有一个 List 集合,其中包含类移动的实例。在我的 Form1_Load 事件中,我从 XML 文件加载用户的动作。我还有一个名为user 的类。它包含用户级别和其他内容。每当你赢得一场战斗时,你都会根据你的等级获得一个动作。它将它添加到 playerMoves 集合中。
但由于某种原因,它只显示第一个按钮。如果我浏览我的代码,它不会进入捕获状态,但它使第二个按钮(我正在使用第二个按钮测试它)从 playerMoves[1] 获取 DisplayName,但是当我的表单在我之后恢复时浏览完代码,它只显示第一个按钮。
在我运行上面的代码之前,我已经确保所有按钮都已经可见,所以任何人都可以向我解释我的代码有什么问题吗?我完全迷路了。
【问题讨论】:
-
你为什么在你的代码中使用多次尝试和捕获
-
因为,我这样做是一种查看是否存在移动的方式。
-
如果我在 playerMoves 中只有一个动作,那么只会显示一个按钮。这就是所有 try-catch 正在做的事情。
-
在尝试部分设置可见为真。
-
如果您尝试但它不起作用,请告诉我