form1.cs
来自「银行家算法 具有详细的说明文档 可供学生朋友使用和学习」· CS 代码 · 共 2,196 行 · 第 1/5 页
CS
2,196 行
MessageBox.Show("共享文件夹不允许重命名文件夹。");
return;
}
string fullPath="",oldName="",newName="";
try
{
fullPath=treeView1.SelectedNode.FullPath;
oldName=treeView1.SelectedNode.Text;
}
catch(Exception)
{
MessageBox.Show("选择要重命名的文件夹有误。");
return;
}
int index=fullPath.IndexOf("\\");
if(index>=0)
{
FrmRename frmRename=new FrmRename();
if(frmRename.ShowDialog()==DialogResult.OK)
{
newName=frmRename.NewName;
TreeNode tnn=treeView1.SelectedNode.Parent;
TreeNode tnnChild=treeView1.SelectedNode;
UserInfo userInfo=(UserInfo)UserList.UserList[G_UserIndex];
G_Shared=false;
G_SourceFolder=G_Folder;
SetCurrentFolder(tnn.FullPath,userInfo.Folder);
bool result=G_Folder.RenameFolder(oldName,newName);
if(result==true)
{
//userInfo.GeneralTreeView(treeView1.Nodes[0]);
//G_Folder=G_SourceFolder;
tnnChild.Text=newName;
//G_Folder.GeneralListView(listView1);
SetCurrentFolder(tnn.FullPath+"\\"+newName,userInfo.Folder);
MessageBox.Show("文件夹重命名成功。");
}
else
{
SetCurrentFolder(fullPath,userInfo.Folder);
//G_Folder=G_SourceFolder;
MessageBox.Show("文件夹重命名失败。");
}
}
}
else
{
MessageBox.Show("要重命名的文件夹为用户根目录,操作禁止。");
return;
}
}
private void menuDelFolder_Click(object sender, System.EventArgs e)
{
menuPasteFile.Enabled=false;
menuPasteFolder.Enabled=false;
if(G_Shared==true)
{
MessageBox.Show("共享文件夹不允许删除文件夹。");
return;
}
string fullPath="",shortname="";
try
{
fullPath=treeView1.SelectedNode.FullPath;
shortname=treeView1.SelectedNode.Text;
}
catch(Exception)
{
MessageBox.Show("选择要删除的文件夹有误。");
return;
}
int index=fullPath.IndexOf("\\");
if(index>=0)
{
if(MessageBox.Show("确实要删除文件夹"+shortname+"?","删除确认",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)==DialogResult.OK)
{
TreeNode tnn=treeView1.SelectedNode.Parent;
UserInfo userInfo=(UserInfo)UserList.UserList[G_UserIndex];
G_Shared=false;
G_SourceFolder=G_Folder;
SetCurrentFolder(tnn.FullPath,userInfo.Folder);
bool result=G_Folder.DelFolder(G_SourceFolder.Name);
if(result==true)
{
userInfo.GeneralTreeView(treeView1.Nodes[0]);
}
else
{
SetCurrentFolder(fullPath,userInfo.Folder);
G_Folder=G_SourceFolder;
}
//userInfo.GeneralSharedTreeView(treeView1.Nodes[1]);
//MessageBox.Show("文件夹删除成功。");
}
}
else
{
MessageBox.Show("要删除的文件夹为用户根目录,不能删除。");
return;
}
}
private void menuReadFile_Click(object sender, System.EventArgs e)
{
string Name,Type,Text="";
menuPasteFile.Enabled=false;
menuPasteFolder.Enabled=false;
try
{
Name=listView1.SelectedItems[0].Text;
Type=listView1.SelectedItems[0].SubItems[2].Text;
}
catch(Exception)
{
MessageBox.Show("选择要读取的文件有误。");
return;
}
if(Type.ToLower()=="exe")
{
MessageBox.Show("执行程序不允许读写。");
return;
}
FileInfo fileInfo=new FileInfo("","");
foreach(Object obj in G_Folder.FileList)
{
fileInfo=(FileInfo)obj;
if(fileInfo.Name==Name&&fileInfo.Type==Type)
{
break;
}
}
bool result=fileInfo.Read(ref Text);
if(result==true)
{
FrmTextEditor frmTextEditor=new FrmTextEditor();
frmTextEditor.textBox1.Text=Text;
frmTextEditor.textBox1.ReadOnly=true;
frmTextEditor.ShowDialog();
}
}
private void menuEditFile_Click(object sender, System.EventArgs e)
{
string Name,Type,Text="";
menuPasteFile.Enabled=false;
menuPasteFolder.Enabled=false;
if(G_Shared==true)
{
MessageBox.Show("共享文件夹不允许编辑文件。");
return;
}
try
{
Name=listView1.SelectedItems[0].Text;
Type=listView1.SelectedItems[0].SubItems[2].Text;
}
catch(Exception)
{
MessageBox.Show("选择要编辑的文件有误。");
return;
}
if(Type.ToLower()=="exe")
{
MessageBox.Show("执行程序不允许读写。");
return;
}
FileInfo fileInfo=new FileInfo("","");
foreach(Object obj in G_Folder.FileList)
{
fileInfo=(FileInfo)obj;
if(fileInfo.Name==Name&&fileInfo.Type==Type)
{
break;
}
}
bool result=fileInfo.Read(ref Text);
if(result==true)
{
FrmTextEditor frmTextEditor=new FrmTextEditor();
frmTextEditor.textBox1.Text=Text;
frmTextEditor.ShowDialog();
result=frmTextEditor.IsSaved;
Text=frmTextEditor.textBox1.Text;
}
else
{
return;
}
if(result==true)
{
fileInfo.Rewrite(Text);
}
}
private void menuExecuteFile_Click(object sender, System.EventArgs e)
{
string Name,Type;
menuPasteFile.Enabled=false;
menuPasteFolder.Enabled=false;
try
{
Name=listView1.SelectedItems[0].Text;
Type=listView1.SelectedItems[0].SubItems[2].Text;
}
catch(Exception)
{
MessageBox.Show("选择要执行的文件有误。");
return;
}
if(Type.ToLower()=="txt")
{
MessageBox.Show("文本文件不允许执行。");
return;
}
FileInfo fileInfo=new FileInfo("","");
foreach(Object obj in G_Folder.FileList)
{
fileInfo=(FileInfo)obj;
if(fileInfo.Name==Name&&fileInfo.Type==Type)
{
break;
}
}
fileInfo.Execute();
}
private void menuFileAttribute_Click(object sender, System.EventArgs e)
{
string Name,Type;
menuPasteFile.Enabled=false;
menuPasteFolder.Enabled=false;
try
{
Name=listView1.SelectedItems[0].Text;
Type=listView1.SelectedItems[0].SubItems[2].Text;
}
catch(Exception)
{
MessageBox.Show("选择要查看属性的文件有误。");
return;
}
FileInfo fileInfo=new FileInfo("","");
foreach(Object obj in G_Folder.FileList)
{
fileInfo=(FileInfo)obj;
if(fileInfo.Name==Name&&fileInfo.Type==Type)
{
break;
}
}
FrmFileInfo frmFileInfo=new FrmFileInfo();
frmFileInfo.lbFileName.Text=fileInfo.Name;
frmFileInfo.lbFileType.Text=fileInfo.Type;
int length=fileInfo.length;
frmFileInfo.lbLength.Text=length.ToString();
DateTime CreateTime=fileInfo.CreateTime;
frmFileInfo.lbTime.Text=CreateTime.ToString();
if(fileInfo.Protect[0]==1)
{
frmFileInfo.cbRead.Checked=true;
}
if(fileInfo.Protect[1]==1)
{
frmFileInfo.cbWrite.Checked=true;
}
if(fileInfo.Protect[2]==1)
{
frmFileInfo.cbExecute.Checked=true;
}
if(fileInfo.Type.ToLower()=="txt")
{
frmFileInfo.cbExecute.Visible=false;
}
if(fileInfo.Type.ToLower()=="exe")
{
frmFileInfo.cbRead.Visible=false;
frmFileInfo.cbWrite.Visible=false;
}
if(G_Shared==true)
{
frmFileInfo.gbInfo.Enabled=false;
}
if(frmFileInfo.ShowDialog()==DialogResult.OK)
{
if(frmFileInfo.cbRead.Checked==true)
{
fileInfo.Protect[0]=1;
}
else
{
fileInfo.Protect[0]=0;
}
if(frmFileInfo.cbWrite.Checked==true)
{
fileInfo.Protect[1]=1;
}
else
{
fileInfo.Protect[1]=0;
}
if(frmFileInfo.cbExecute.Checked==true)
{
fileInfo.Protect[2]=1;
}
else
{
fileInfo.Protect[2]=0;
}
}
}
private void menuCutFile_Click(object sender, System.EventArgs e)
{
string Name,Type;
if(G_Shared==true)
{
MessageBox.Show("共享文件夹不允许剪切文件。");
return;
}
try
{
Name=listView1.SelectedItems[0].Text;
Type=listView1.SelectedItems[0].SubItems[2].Text;
}
catch(Exception)
{
MessageBox.Show("选择要剪切的文件有误。");
return;
}
FileInfo fileInfo=new FileInfo("","");
foreach(Object obj in G_Folder.FileList)
{
fileInfo=(FileInfo)obj;
if(fileInfo.Name==Name&&fileInfo.Type==Type)
{
break;
}
}
G_SourceFolder=G_Folder;
G_SourceFile=fileInfo;
IsCopy=false;
//MessageBox.Show("请选择粘贴路径。");
menuPasteFile.Enabled=true;
}
private void menuPasteFile_Click(object sender, System.EventArgs e)
{
if(G_Shared==true)
{
MessageBox.Show("共享文件夹不允许粘贴文件。");
return;
}
bool result=G_Folder.AddFile(G_SourceFile.Name,G_SourceFile.Type,G_SourceFile.length);
if(result==false)
{
MessageBox.Show("粘贴文件失败。");
menuPasteFile.Enabled=false;
return;
}
G_Folder.DelFile(G_SourceFile.Name,G_SourceFile.Type);
FileInfo newFile=new FileInfo("","");
G_SourceFile.Clone(ref newFile);
if(IsCopy==false)
{
G_SourceFolder.DelFile(G_SourceFile.Name,G_SourceFile.Type);
}
G_Folder.FileList.Add(newFile);
G_Folder.GeneralListView(listView1);
menuPasteFile.Enabled=false;
}
private void menuItem3_Click(object sender, System.EventArgs e)
{
listView1.View=View.LargeIcon;
menuList.Checked=false;
menuLargeIcon.Checked=true;
menuSmallIcon.Checked=false;
menuDetails.Checked=false;
}
private void menuSmallIcon_Click(object sender, System.EventArgs e)
{
listView1.View=View.SmallIcon;
menuList.Checked=false;
menuLargeIcon.Checked=false;
menuSmallIcon.Checked=true;
menuDetails.Checked=false;
}
private void menuList_Click(object sender, System.EventArgs e)
{
listView1.View=View.List;
menuList.Checked=true;
menuLargeIcon.Checked=false;
menuSmallIcon.Checked=false;
menuDetails.Checked=false;
}
private void menuDetails_Click(object sender, System.EventArgs e)
{
listView1.View=View.Details;
menuDetails.Checked=true;
menuList.Checked=false;
menuLargeIcon.Checked=false;
menuSmallIcon.Checked=false;
}
private void menuCopyFile_Click(object sender, System.EventArgs e)
{
string Name,Type;
try
{
Name=listView1.SelectedItems[0].Text;
Type=listView1.SelectedItems[0].SubItems[2].Text;
}
catch(Exception)
{
MessageBox.Show("选择要复制的文件有误。");
return;
}
FileInfo fileInfo=new FileInfo("","");
foreach(Object obj in G_Folder.FileList)
{
fileInfo=(FileInfo)obj;
if(fileInfo.Name==Name&&fileInfo.Type==Type)
{
break;
}
}
G_SourceFolder=G_Folder;
G_SourceFile=fileInfo;
IsCopy=true;
menuPasteFile.Enabled=true;
}
private void menuCutFolder_Click(object sender, System.EventArgs e)
{
if(G_Shared==true)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?