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

📄 consolepad.cs

📁 c#源代码
💻 CS
字号:
using System;
using System.Drawing;
using System.Windows.Forms;

using ICSharpCode.Core.Services;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Services;

using Reflector.UserInterface;

namespace ICSharpCode.ConsolePad
{
	class ConsolePad : AbstractPadContent
	{
		ResourceService resourceService = (ResourceService)ServiceManager.Services.GetService(typeof(ResourceService));
		IProjectService projectService = (IProjectService)ICSharpCode.Core.Services.ServiceManager.Services.GetService(typeof(IProjectService));
		FileUtilityService fileUtilityService = (FileUtilityService)ServiceManager.Services.GetService(typeof(FileUtilityService));
		
		Panel contentPanel;
		ConsoleControl console = new ConsoleControl();
		
		CommandBarButton projectButton;
		CommandBarButton sdkButton;
		
		public override Control Control
		{
			get {
				return contentPanel;
			}
		}
		
		public ConsolePad() : base("${res:ICSharpCode.ConsolePad.PadName}")
		{
			IconService iconService = (IconService)ServiceManager.Services.GetService(typeof(IconService));
			StringParserService stringParserService = (StringParserService)ServiceManager.Services.GetService(typeof(StringParserService));
			
			contentPanel = new Panel();
			console.Dock = DockStyle.Fill;
			
			CommandBar commandBar = new CommandBar();
			commandBar.Dock = DockStyle.Top;
			
			projectButton = new CommandBarButton(stringParserService.Parse("${res:ICSharpCode.ConsolePad.GotoProjectItem}"));
			projectButton.Image = iconService.GetBitmap("Icons.16x16.CombineIcon");
			projectButton.Click += new EventHandler(ProjectItemClick);
			projectButton.IsEnabled = false;
			commandBar.Items.Add(projectButton);
			
			sdkButton = new CommandBarButton(stringParserService.Parse("${res:ICSharpCode.ConsolePad.GotoSdkItem}"));
			sdkButton.Image = iconService.GetBitmap("Icons.16x16.SdkDirectory");
			sdkButton.Click += new EventHandler(SdkItemClick);
			commandBar.Items.Add(sdkButton);
			
			projectService.CurrentProjectChanged += new ProjectEventHandler(projectChanged);
			
			contentPanel.Controls.Add(console);
			contentPanel.Controls.Add(commandBar);
		}
		
		void projectChanged(object sender, ProjectEventArgs e)
		{
			projectButton.IsEnabled = e.Project != null;
		}
		
		void SdkItemClick(object sender, EventArgs e)
		{
			console.ChangeDirectory(fileUtilityService.NETFrameworkInstallRoot);
		}
		
		void ProjectItemClick(object sender, EventArgs e)
		{
			console.ChangeDirectory(projectService.CurrentSelectedProject.BaseDirectory);
		}
		
		public override string Icon
		{
			get {
				return "Icons.16x16.Shell";
			}
		}
	}
}

⌨️ 快捷键说明

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