Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#根据复选框和单选按钮选择文本框,查看文件夹或文件的有效路径_C# - Fatal编程技术网

c#根据复选框和单选按钮选择文本框,查看文件夹或文件的有效路径

c#根据复选框和单选按钮选择文本框,查看文件夹或文件的有效路径,c#,C#,我遇到了一个问题,我的检查算法,确保所有的文本框输入是正确的,然后再进行下一步的代码 我有4个文本框: srcTB=文件源 customDestTB=设置保存文件的自定义路径 defaultDestTB=自动从srcTB中选择目标目录 fileNameTB=将文件另存为的名称+从srcTB获取的扩展名 我还有两个单选按钮: customdestb=用户选择此选项以在customdestb中设置自己的路径 defaultdestb=用户选择此选项以使用defaultdestb中的默认路径 用户还可

我遇到了一个问题,我的检查算法,确保所有的文本框输入是正确的,然后再进行下一步的代码

我有4个文本框:

srcTB
=文件源

customDestTB
=设置保存文件的自定义路径

defaultDestTB
=自动从srcTB中选择目标目录

fileNameTB
=将文件另存为的名称+从srcTB获取的扩展名

我还有两个单选按钮:

customdestb
=用户选择此选项以在customdestb中设置自己的路径

defaultdestb
=用户选择此选项以使用defaultdestb中的默认路径

用户还可以选择使用
getFileCB
复选框保存单个文件,或使用
getFolderCB

所以过程是这样的:

File.Exists(srcTB.Text) || Directory.Exists(srcTB.Text);

if (customDestRB.Checked == true)
{
    if (getFileCB.Checked == true)
    {
        File.Exists(destTB.Text);
    }
    else if (getFolderCB.Checked == true)
    {
        Directory.Exists(destTB.Text);
    }
}
else if (setDestRB.Checked == true)
{
    if (getFileCB.Checked == true)
    {
        File.Exists(destTB.Text);
    }
    else if (getFolderCB.Checked == true)
    {
        Directory.Exists(destTB.Text);
    }
}
else if (fileNameTB.Text == "")
{
    MessageBox.Show("Check the filename is correct before proceeding", "Failed");
}
else
///Continue with save process
用户可以选择源文件或文件的源目录,他们使用复选框选中
getFileCB
getFolderCB

然后,用户选择
customdestb
defaultdestb
customdestb
defaultdestb
中设置路径

用户在
fileNameTB
中键入文件名,扩展名是从在
srcTB.Text上执行的
.Split()
中添加的

然后,用户单击
保存
按钮,并开始检查以确保正确填写所有文本框,以编程方式执行上述操作。我一直在尝试使用
file.Exists()
directory.Exists()
检查文件/目录路径是否有效,但未能按预期工作

这是我检查文本框的代码:

File.Exists(srcTB.Text) || Directory.Exists(srcTB.Text);

if (customDestRB.Checked == true)
{
    if (getFileCB.Checked == true)
    {
        File.Exists(destTB.Text);
    }
    else if (getFolderCB.Checked == true)
    {
        Directory.Exists(destTB.Text);
    }
}
else if (setDestRB.Checked == true)
{
    if (getFileCB.Checked == true)
    {
        File.Exists(destTB.Text);
    }
    else if (getFolderCB.Checked == true)
    {
        Directory.Exists(destTB.Text);
    }
}
else if (fileNameTB.Text == "")
{
    MessageBox.Show("Check the filename is correct before proceeding", "Failed");
}
else
///Continue with save process
我的问题是,如何确保每个文本框中提供的所有路径都以正确的方式有效

编辑:

我最终发现save函数必须通过if语句调用
File.Exists()
,才能得到我想要的结果

对于将来有此问题的任何人,我实现了如下内容:

//Check customDestRB is checked
if (customDestRB.Checked == true)
{
  //Check getFileCB is checked
  if (getFileCB.Checked == true)
  {
    //Check if the filename is in use
    if (File.Exists(destTB.Text + fileNameTB.Text))
    {
      //If filename is in use then prompt the user to pick another filename
      MessageBox.Show("File already exists, choose another filename");
    }
    //Check if directory exists 
    else if (Directory.Exists(destTB.Text))
    {
      //If it exists,
      //Do something here here
    }
  }
}

您的代码应该是这样的

 File.exists(variable) || Directory.exists(variable);

|

之前您有分号,您的代码应该是这样的

 File.exists(variable) || Directory.exists(variable);

您在
| |

之前有分号,您能解释一下当前代码不起作用的原因吗?它做错了什么?显示一些在当前代码中失败的示例输入会很有用;包括代码应该为那些特定的输入做些什么Shi Rob,我已经设置了richtextbox来记录代码中的各个点,看起来程序只是在上面代码中的检查点停止,并没有前进到后面的实际保存代码。它应该检查每个文本框的输入,并根据单选按钮和复选框的选择确保每个文本框中的字符串是指向文件夹或文件的有效路径。您能解释一下当前代码不起作用的原因吗?它做错了什么?显示一些在当前代码中失败的示例输入会很有用;包括代码应该为那些特定的输入做些什么Shi Rob,我已经设置了richtextbox来记录代码中的各个点,看起来程序只是在上面代码中的检查点停止,并没有前进到后面的实际保存代码。它应该检查每个文本框的输入,并根据单选按钮和复选框的选择,确保每个文本框中的字符串是文件夹或文件的有效路径。typo已编辑原始帖子。谢谢你抓到它。原来没有看到评论按钮。注意。打字错误,已编辑原始帖子。谢谢你抓到它。原来没有看到评论按钮。注意。