Нет проблем с тем, что вы сделали с выполнением инструкции if
, поэтому должна быть проблема с чем-то внешним, что вы предоставили выше.
- ли MenuItem проверил или неопределенными (оба возвращают верно, когда
Checked
опрашивается)
- ли MenuItem фактически переключая (настройки неправильно собственности и т.д.)
Просто убедитесь, что состояние Checked
перед вводом заявления if
, прежде чем идти дальше ... Вы может найти ваш ответ прямо тогда и там.
Попробуйте следующее и посмотрите, что будет записываться в консоль при запуске.
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
Console.WriteLine(clearHistoryOnQuitToolStripMenuItem.CheckState.ToString());
if (clearHistoryOnQuitToolStripMenuItem.Checked)
{
System.Diagnostics.Process.Start("rundll32.exe", "InetCpl.cpl,ClearMyTracksByProcess 255");
}
}
удачи & по крайней мере, здесь вы сможете выяснить, почему Checked
состояние всегда возвращает истину (или это!) ...