このサブルーチンは、Button1
が押されるとすぐに実行されます。これにより、ユーザーが乗算できる2つの乱数が表示されます。(TB2およびTB3で表示されます。)
これで、これらの数値が表示されるとすぐに(そして、ユーザーが回答を入力する前に)、プログラムはTB4の値をチェックします。これは空であり、解析が試行されるとエラーをスローします。
これを2つのボタンを持つ2つのサブルーチンに分割してみてください。1つは新しい問題を表示するためのボタンで、もう1つは答えを確認するためのボタンです。
編集:コードが追加されました。(注:私はこれをフリーハンドで作成しました。コンパイルされるかどうかはわかりません...一般的な考え方を理解してください。ボタンの名前に注意してください。)
//This routine sets up the problem for the user.
private void btnGenerateProblem_Click(object sender, EventArgs e) {
//Get 2 random factors
int x = Randomnumber.Next(12);
int z = Randomnumber.Next(12);
//Display the two factors for the user
textBox2.Text = x.ToString();
textBox3.Text = z.ToString();
}
//This routine checks the user's answer, and updates the "correct count"
private void btnCheckAnswer_Click(object sender, EventArgs e) {
//Get the random numbers out of the text boxes to check the answer
int x = int.Parse(textBox2.Text);
int z = int.Parse(textBox3.Text);
//Compute the true product
int s = x * z;
//Does the true product match the user entered product?
if (s == int.Parse(textBox4.Text)) {
correct++;
numbercorrect.Text = correct.ToString();
}
}
の先頭に確認コードを追加しbtnCheckAnswer_Click
ます。