У меня проблема:
Когда моя программа проверяет определенное состояние и если флажок установлен, он дважды бросает MessageBox
; согласно отладчику, он входит внутрь if, выдает messagebox
, а затем выдает Checkbox1.Checked == false
. После этого он снова выполнит все условия if.
Я пробовал MSDN
документацию о Checkbox1.Threestate
, но я не смог ее реализовать. Что я могу сделать, чтобы решить эту проблему?Оператор If-Else для флажка
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
string currPath = textBox1.Text;
if (!textBox1.Text.Contains("\\"))
{
MessageBox.Show("Please define the input folder before starting");
checkBox1.Checked = false;
}
else if (!textBox2.Text.Contains("\\"))
{
MessageBox.Show("Please define the XML Output folder before starting");
checkBox1.Checked = false;
}
else if (!textBox3.Text.Contains("\\"))
{
MessageBox.Show("Please define the Converted PPF Output Folder before starting");
checkBox1.Checked = false;
}
else if (!textBox4.Text.Contains("\\"))
{
MessageBox.Show("Please define the Invalid PPF Output Folder before starting");
checkBox1.Checked = false;
}
else
{
// calls the watcher
prg.ProgramProcessing(textBox1.Text);
}
}
Ну да, вы меняете 'checked' статус флажка, так что будет инициировать событие снова – Sayse