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并按下创建按钮后执行此检查。
任何帮助将不胜感激,并提前感谢您。
答案 0 :(得分:4)
您需要指定Show
方法的结果,看看他们是否按了是或否:
DialogResult dialogResult = MessageBox.Show("Pictures exist, Replace??", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (dialogResult == DialogResult.No)