如何取消选中复选框?

时间:2015-07-19 02:13:56

标签: c#

Checkbox1调用photoshop将图片创建到文件夹。下面的代码检查文件夹中的文件以查看是否存在ID#,每次photoshop创建图片时都会创建ID#。如果ID#存在,则会显示一个消息框,指出图片存在并询问用户是否要替换图片。

private void PicCheck()
{
    if (Checkbox1.Checked == true)
    {
        if (File.Exists("path/text.cde"))
        {
            string text = File.ReadAllText("path/text.cde");
            bool present = text.IndexOf("ID#??") >= 0;
            if (present == true)
            {
                MessageBox.Show("Pictures exist, Replace??", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
                if (DialogResult == DialogResult.No)
                {
                    Checkbox1.Checked = false;
                }
            }
            else
            {
                File.WriteAllText("path/text.cde", ("ID#??"));
            }
        }
    }
}

我的问题是,当ID#存在且用户按否时,复选框不会被取消选中,无论如何都会再次创建图片。我需要的是当用户按否时,取消选择checkbox1并跳过分配给checkbox1的photoshop进程。这可能吗?注意:在用户选中checkbox1并按下创建按钮后执行此检查。

任何帮助将不胜感激,并提前感谢您。

1 个答案:

答案 0 :(得分:4)

您需要指定Show方法的结果,看看他们是否按了是或否:

DialogResult dialogResult = MessageBox.Show("Pictures exist, Replace??", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

if (dialogResult == DialogResult.No)