c# - 查看toolstripmenuitem是否被勾选

标签 c#

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

    }

我没有收到任何错误,但程序仍会执行 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(或者是!)...

关于c# - 查看toolstripmenuitem是否被勾选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29714538/

相关文章:

c# - 使用 ServiceStack 返回具有特定状态代码的自定义 DTO 的选项有哪些?

c# - "type-safe"和 "strongly typed"是同一个意思吗?

c# - 将 SQL 转换为 Linq left join with null

c# - TryGetObjectByKey 未在 .net 4.5 中编译

c# - 国际化 HelloWorld 程序 .NET

c# - 如何在 C# 中使用用户名 token 对 Primavera P6 Web 服务进行身份验证?

C# 反射和查找所有引用

c# - PRISM WPF CompositeCommand Execute 方法不起作用

c# - WinForms:从其变量名中获取某个按钮

c# - 如何声明具有数据成员字典类型的匿名类?