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 + -
显示快捷键?