private void Form1_Load(object sender, EventArgs e)
{
if (count == 2)
{
MessageBox.Show("Congrats You Score is : " + Marks, "Result", MessageBoxButtons.OK);
SendKeys.Send("%{F4}");//tried Application.Exit() this.Close();
}
string choice = src.ReadLine();
string ques = srq.ReadLine();
opt = choice.Split('\t');
label1.Font = new Font("Times New Roman", 15);
label1.Text = ques;
ch1.Font = new Font("Times New Roman", 15);
ch1.Text = opt[0];
ch2.Font = new Font("Times New Roman", 15);
ch2.Text = opt[1];
ch3.Font = new Font("Times New Roman", 15);
ch3.Text = opt[2];
ch4.Font = new Font("Times New Roman", 15);
ch4.Text = opt[3];
}
GUI で簡単なクイズを作成しようとしていますが、これは宿題ではありません。ところで、コンソール クイズ プログラムを作成しましたが、GUI で実行したいと考えています。私は初心者で、ネットをよく検索して、この Windows フォームを作成しようとしています。
private void button1_Click(object sender, EventArgs e)
{
if (ch1.Checked == false && ch2.Checked==false && ch3.Checked==false && ch4.Checked==false)
{
MessageBox.Show("Please Choose An Answer", "Error", MessageBoxButtons.OK,MessageBoxIcon.Error);
}
else if (ch1.Checked){
check(ch1);
// MessageBox.Show("Marks : "+Marks);
++count;
Form1_Load(new Object(), new EventArgs());
ch1.Checked = false;
}
else if(ch2.Checked){
check(ch2);
++count;
Form1_Load(new Object(), new EventArgs());
ch2.Checked = false;
}
else if(ch3.Checked){
check(ch3);
++count;
Form1_Load(new Object(), new EventArgs());
ch3.Checked = false;
}
else if (ch4.Checked){
check(ch4);
++count;
Form1_Load(new Object(), new EventArgs());
ch4.Checked = false;
}
}
上記のメソッドは、新しい質問とそのオプションをロードし続け、[次へ] ボタンが押された後です。
ここで、カウントが 2 またはそれ以上になるとクイズを終了させたいと考えています。私は試しましthis.Close()
たSendKey,Environment.Exit(0, inputsimulator
(はい.dll
、名前空間を使用してファイルをダウンロードし、その参照を追加しました)も機能しません。
またinputsimulatorはアプリ選択時のみ動作するというデメリットがあります...
sendkeys
アプリ選択の有無に関わらず動作するので良くないのでしょうか...
マウス クリックなどのイベントが機能するために必要であることは理解していますthis.close()
が、クイズにスコアを表示し、すべての質問に回答した後に自動的に終了するようにしたい...
現在、クイズは終了せず、問題とオプションが読み取られるファイルに何も残っていないため、例外がスローされます......