⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainmenu.cs

📁 ftp上传的c#程序. ftp上传的c#程序.
💻 CS
字号:
namespace FTP.View.VisibleControls 

{
	using System;
	using System.IO;
	using System.Windows.Forms;
	using System.Drawing;
	using System.Diagnostics;
	using System.Threading; 
	using FTP.View.DataStructures;
	using FTP.Model.DataStructures;

	internal class MainMenu : System.Windows.Forms.MainMenu 
	{
		private HandleUserGestures  handleUserGestures; // Pointer to parent's HandleUserGestures
		private	System.Windows.Forms.View	listViewStyle = System.Windows.Forms.View.Details;
		private bool connected = false;

		private MenuItem mtFile;
		private MenuItem miConnect;
		private MenuItem miDisconnect;
		private MenuItem miDownloadTo;
		private MenuItem miUploadFrom;
		private MenuItem miCreateDirectory;
		private MenuItem miRemoveDirectory;
		private MenuItem miDelete;
		private MenuItem miExit;

		private MenuItem mtView;
		private MenuItem miLargeIcons;
		private MenuItem miSmallIcons;
		private MenuItem miList;
		private MenuItem miDetails;
    
		private MenuItem mtHelp;
		private MenuItem miAbout;

		private MenuItem miSeparator1;
		private MenuItem miSeparator2;
		private MenuItem miSeparator3;
		private MenuItem miSeparator4;
		private MenuItem miSeparator5;
    
		internal MainMenu(HandleUserGestures pHandleUserGestures) 
		{
			this.handleUserGestures = pHandleUserGestures;
      
			// Add top level menu items
			mtFile      = new MenuItem("&File");
			mtView      = new MenuItem("&View");
			mtHelp      = new MenuItem("&Help");
			this.MenuItems.Add(mtFile);
			this.MenuItems.Add(mtView);
			this.MenuItems.Add(mtHelp);

			mtFile.Select += new System.EventHandler (this.eventMenuSelectionEventHandler);
			mtView.Select += new System.EventHandler (this.eventMenuSelectionEventHandler);

			miSeparator1 = new MenuItem("-");
			miSeparator2 = new MenuItem("-");
			miSeparator3 = new MenuItem("-");
			miSeparator4 = new MenuItem("-");
			miSeparator5 = new MenuItem("-");
  
			miConnect         = new MenuItem("Connect...", new EventHandler(this.eventMenuEventHandler), Shortcut.CtrlN);
			miDisconnect      = new MenuItem("Diconnect", new EventHandler(this.eventMenuEventHandler), Shortcut.CtrlZ);

			miDownloadTo      = new MenuItem("Download To...", new EventHandler(this.eventMenuEventHandler));
			miUploadFrom      = new MenuItem("Upload From...", new EventHandler(this.eventMenuEventHandler));
			miCreateDirectory = new MenuItem("New Directory", new EventHandler(this.eventMenuEventHandler));
			miRemoveDirectory = new MenuItem("Remove Directory", new EventHandler(this.eventMenuEventHandler));
			miDelete          = new MenuItem("Delete", new EventHandler(this.eventMenuEventHandler));

			miLargeIcons      = new MenuItem("Large Icons", new EventHandler(this.eventMenuEventHandler));
			miSmallIcons      = new MenuItem("Small Icons", new EventHandler(this.eventMenuEventHandler));
			miList            = new MenuItem("List", new EventHandler(this.eventMenuEventHandler));
			miDetails         = new MenuItem("Details", new EventHandler(this.eventMenuEventHandler));

			miExit            = new MenuItem("E&xit", new EventHandler(this.eventMenuEventHandler));
			miAbout           = new MenuItem("About", new EventHandler(this.eventMenuEventHandler));

			mtFile.MenuItems.Add(miConnect);
			mtFile.MenuItems.Add(miDisconnect);
			mtFile.MenuItems.Add(miSeparator1);
			mtFile.MenuItems.Add(miDownloadTo);
			mtFile.MenuItems.Add(miUploadFrom);
			mtFile.MenuItems.Add(miSeparator2);
			mtFile.MenuItems.Add(miCreateDirectory);
			mtFile.MenuItems.Add(miRemoveDirectory);
			mtFile.MenuItems.Add(miDelete);
			mtFile.MenuItems.Add(miSeparator3);
			mtFile.MenuItems.Add(miExit);
			mtView.MenuItems.Add(miLargeIcons);
			mtView.MenuItems.Add(miSmallIcons);
			mtView.MenuItems.Add(miList);
			mtView.MenuItems.Add(miDetails);
			mtHelp.MenuItems.Add(miAbout);
      
		}

		private void eventMenuSelectionEventHandler(object pSender, EventArgs pArgs) 
		{
			MenuItem clickedMenu = (MenuItem)pSender;
			if (clickedMenu == mtView) 
			{
				miLargeIcons.Checked	= (this.listViewStyle == View.LargeIcon);
				miSmallIcons.Checked	= (this.listViewStyle == View.SmallIcon);
				miList.Checked			= (this.listViewStyle == View.List);
				miDetails.Checked		= (this.listViewStyle == View.Details);
			}
			if (clickedMenu == mtFile) 
			{
				miConnect.Enabled			= !this.connected;
				miDisconnect.Enabled		= this.connected;
				miDownloadTo.Enabled		= this.connected;
				miUploadFrom.Enabled		= this.connected;
				miCreateDirectory.Enabled	= this.connected;
				miRemoveDirectory.Enabled	= this.connected;
				miRemoveDirectory.Visible	= false;	//xyzzy
				miDelete.Enabled			= this.connected;
			}

		}
		private void eventMenuEventHandler(object pSender, EventArgs pArgs) 
		{
			MenuItem clickedMenu = (MenuItem)pSender;

			string   messageToView = "";
			if (clickedMenu == miConnect) 
				messageToView = "CONNECT";
			if (clickedMenu == miDisconnect) 
				messageToView = "DICONNECT";
			if (clickedMenu == miExit) 
				messageToView = "EXIT";

			// View Menu
			if (clickedMenu == miLargeIcons) 
			{
				this.listViewStyle	= System.Windows.Forms.View.LargeIcon;
				messageToView = "REFRESH";
			}
			if (clickedMenu == miSmallIcons) 
			{
				this.listViewStyle	= System.Windows.Forms.View.SmallIcon;
				messageToView = "REFRESH";
			}
			if (clickedMenu == miList) 
			{
				this.listViewStyle	= System.Windows.Forms.View.List;
				messageToView = "REFRESH";
			}
			if (clickedMenu == miDetails) 
			{
				this.listViewStyle	= System.Windows.Forms.View.Details;
				messageToView = "REFRESH";
			}
			// File Menu
			if (clickedMenu == miDownloadTo) 
				messageToView = "DOWNLOADTO";
			if (clickedMenu == miUploadFrom) 
				messageToView = "UPLOADFROM";
			if (clickedMenu == miCreateDirectory)
				messageToView = "CREATEDIRECTORY";
			if (clickedMenu == miRemoveDirectory)
				messageToView = "REMOVEDIRECTORY";
			if (clickedMenu == miDelete)
				messageToView = "DELETE";
			
			// Event for About Box
			if (clickedMenu == miAbout)
				MessageBox.Show("By Paul Lockwood (paul_lockwood@yahoo.com).", "C# Example Code", 
					MessageBoxButtons.OK, MessageBoxIcon.Information);

			if (messageToView.Length>0) 
			{
				handleUserGestures.handleUserGesture(messageToView);
			}
		}

		public void ExtractUserChanges(ref ModelViewState pFtpViewState) 
		{
			pFtpViewState.ListViewStyle	= this.listViewStyle;
		}

		public void AcceptModelChanges(ModelViewState ftpViewState) 
		{
			this.connected = ftpViewState.connected	;
		}
	
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -