C# 如何创建包含项目中所有文件的文件夹?

C# 如何创建包含项目中所有文件的文件夹?,c#,.net,windows,project,documents,C#,.net,Windows,Project,Documents,我正在用C创建一个应用程序,它在启动时显示一个对话框,并询问项目名称。同时,我添加了两个按钮:创建和退出 如果按create,则在文本框中键入的项目名称将与该名称一起保存在Documents文件夹中。项目文件夹中包含两个单独的文件夹,分别称为img和js。如果您下次尝试使用文件夹存在的名称创建项目,它将不会覆盖该文件夹,比如说我显示了一个MsgBox。代码如下: //Unable to create project string mydir = Environment.Speci

我正在用C创建一个应用程序,它在启动时显示一个对话框,并询问项目名称。同时,我添加了两个按钮:创建和退出

如果按create,则在文本框中键入的项目名称将与该名称一起保存在Documents文件夹中。项目文件夹中包含两个单独的文件夹,分别称为img和js。如果您下次尝试使用文件夹存在的名称创建项目,它将不会覆盖该文件夹,比如说我显示了一个MsgBox。代码如下:

//Unable to create project
        string mydir = Environment.SpecialFolder.MyDocuments + "\\" + textBox1.Text;
        if (Directory.Exists(mydir) == true)
        {
                MessageBox.Show("The project name: " + textBox1.Text + " has already been created. Please consider renaming a different project name.", "Netplait", MessageBoxButtons.OK, MessageBoxIcon.Error);
                textBox1.Focus();
                return;
        }

        if (Directory.Exists(mydir) == false)
        {
            Directory.CreateDirectory(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), textBox1.Text));
        }
是枚举,而不是现有目录的路径。代码失败,因为将此枚举值连接到文本框中的字符串没有意义

相反,您得到的是实际的MyDocument文件夹

string mydir = Environment.GetFolderPath(Environement.SpecialFolder.MyDocuments);
mydir = Path.Combine(myDir, textBox1.Text);
if(DirectoryExists(myDir))
{
    MessageBox.Show(.....);
    textBox1.Focus();
    return;
}
else
{
    Directory.CreateDirectory(myDir);
}
还要注意,要组合字符串并生成有效路径,最好将此任务留给专门的方法。
顺便说一句,它就在您代码的Directory.CreateDirectory部分。

那么您是在询问如何删除文件夹并创建一个新文件夹,或者如何检测该文件夹已经存在?使用文本框输入名称创建一个文件夹目录,然后如果我们像以前一样键入相同的项目名称,它将检测并禁用您需要调用的请求方法我尝试过这样做,但它不起作用。我会很快编辑我的帖子并添加代码为什么你不在初始化mydir时使用Path.Combine?