繁体   English   中英

检查是否已检查toolstripmenuitem

[英]Check to see if toolstripmenuitem is checked

    private void Form1_FormClosed(object sender, FormClosedEventArgs e)
    {
        if (clearHistoryOnQuitToolStripMenuItem.Checked)
        {
            System.Diagnostics.Process.Start("rundll32.exe", "InetCpl.cpl,ClearMyTracksByProcess 255");
        }

    }

我没有收到任何错误,但即使未选中Item,程序仍会在if语句内执行操作。

实现if语句所完成的工作没有问题,因此上面提供的内容肯定存在问题。

只需在输入if语句之前先确保已Checked状态,然后再继续操作即可……您可能会在那时和那里找到答案。

尝试以下操作,查看运行时写入控制台的内容。

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状态总是返回true(或者是)!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM