创建新文件夹是“网络硬盘”用户管理的一项重要内容。在创建文件夹的同时,还希望能够对文件夹的属性进行相关的设置,如“只读”或者“隐藏”等等。
16.4.1 界面布置
和这部分功能相关的控件包括以下几个:(ID)为NewDirName的TextBox控件,用户在这里输入新文件夹名;(ID)分别为chkReadOnly和chkHidden的两个CheckBox控件,用来设置新文件夹的属性;(ID)为btnNewDir的Button控件,单击它生成新文件夹。16.4.2 代码实现
在“设计”面板中双击btnNewDir按钮,为其添加事件处理,其代码如下所示:
private void btnNewDir_Click(object sender, System.EventArgs e)
{
if(NewDirName.Text=="")
{
Info.Text="请先输入要创建的新文件夹名";
return;
}
string FullDirName = CurrentPath + @"/" + NewDirName.Text; //生成完整路径
try
{
if(Directory.Exists(FullDirName))
{
Info.Text="已存在该文件夹,请更换名称";
return;
}
DirectoryInfo DirInfo = Directory.CreateDirectory(FullDirName); //创建目录
if (chkReadOnly.Checked==true)
{
if(chkHidden.Checked==false)
DirInfo.Attributes = FileAttributes.ReadOnly;
else
DirInfo.Attributes = FileAttributes.ReadOnly|FileAttributes.Hidden;
}
else
{
if(chkHidden.Checked==true)
DirInfo.Attributes = FileAttributes.Hidden;
}
LoadDir(CurrentPath); //重新载入当前目录
}
catch
{
Info.Text="创建文件夹失败,请与管理员联系";
}
}
首先要判断的就是用户是否输入了新文件夹名称。如果没有输入的话,则输出错误提示信息“请先输入新文件夹名”,然后退出程序。
如果用户已输入新的文件夹名称,则要判断是否已存在同名文件夹。为此,要先得到完整的文件夹路径名FullDirName,然后利用Directory.Exists()方法进行判断。若该文件夹还没被创建,就可以用Directory.CreateDirectory()方法来创建该文件夹。
随后就要对文件夹属性进行设置。在这里利用了DirectoryInfo类的Attributes属性,文件夹属性包括存档、压缩、目录、隐藏、脱机、只读、系统等等。在这里只对只读和隐藏属性进行设置,其他属性设置与之类似。
最后要调用LoadDir()方法重新列出当前目录下的内容。如果文件夹创建成功的话,可以看到新创建的文件夹名。