private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
if (clearHistoryOnQuitToolStripMenuItem.Checked)
{
System.Diagnostics.Process.Start("rundll32.exe", "InetCpl.cpl,ClearMyTracksByProcess 255");
}
}
我没有收到任何错误,但即使未选中该项,程序仍会在if语句中执行操作。
答案 0 :(得分:0)
您执行if
语句的内容没有任何问题,因此必须存在上述内容之外的问题。
Checked
时都返回true)
在进一步了解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
州总是回归真实(或者是它!)......