我看不到标签文本。我该怎么办?
的数据
public partial class Form1 : Form
{
Random rnd = new Random();
string[] Maths = { "Add", "Subtract", "Multiply" };
int[] total = new int[5];
int score = 0;
public Form1()
{
InitializeComponent();
SetUpGame();
}
private void SetUpGame()
{
string[] seq_Left = { lblNum1Left.Text, lblNum2Left.Text, lblNum3Left.Text, lblNum4Left.Text, lblNum5Left.Text };
string[] seq_Right = { lblNum1Right.Text, lblNum2Right.Text, lblNum3Right.Text, lblNum4Right.Text, lblNum5Right.Text };
string[] seq_Symbol = { lblSymbol1.Text, lblSymbol2.Text, lblSymbol3.Text, lblSymbol4.Text, lblSymbol5.Text };
string[] seq_Answer = { txtAnswer1.Text, txtAnswer2.Text, txtAnswer3.Text, txtAnswer4.Text, txtAnswer5.Text };
for (int i = 0; i < 5; i++)
{
int numA = rnd.Next(10, 20);
int numB = rnd.Next(0, 9);
seq_Answer[i] = "";
switch (Maths[rnd.Next(0, Maths.Length)])
{
case "Add":
total[i] = numA + numB;
seq_Symbol[i] = "+";
break;
case "Subtract":
total[i] = numA - numB;
seq_Symbol[i] = "-";
break;
case "Multiply":
total[i] = numA * numB;
seq_Symbol[i] = "x";
break;
}
seq_Left[i] = numA.ToString();
seq_Right[i] = numB.ToString();
}
}
}
字符串
在最后几行中,我将nums转换为string并赋值给文本。所以我应该看到文本,但我没有。如果我不使用seq[],代码会太长。
1条答案
按热度按时间k5hmc34c1#
在最后几行中,我将数字转换为字符串并分配给文本。
不,你绝对不能。你永远不能给任何
Label
的Text
分配任何东西。这里:字符串
你得到每个
Label
的Text
,并把它放在一个string
数组中。这个数组只包含strings
。它不知道这些strings
来自的Labels
。这相当于:型
希望这能解释为什么没有这种联系。这里:
型
你只是把一个
string
放进数组,替换掉原来的string
。数组对任何Labels
都一无所知,所以它怎么会影响它们呢?你需要做的是创建一个实际包含
Labels
的数组:型
然后设置这些
Labels
中的Text
:型