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

📄 showhelpbrowser.cs

📁 c#源代码
💻 CS
字号:
/* ***********************************************************
 * 
 * Help 2.0 Environment for SharpDevelop
 * ShowHelpBrowser Class
 * Copyright (c) 2005, Mathias Simmack. All rights reserved.
 * 
 * With a big "Thank you" to Robert_G (Delphi-PRAXiS)
 * 
 * ********************************************************* */
namespace HtmlHelp2
{
	using System;
	using ICSharpCode.SharpDevelop.Gui;
	using MSHelpServices;
	using HtmlHelp2Browser;

	public sealed class ShowHelpBrowser
	{
		static bool hiliteMatches = false;
		static IHxTopic lastTopic = null;

		public static void OpenHelpView(IHxTopic topic)
		{
			OpenHelpView(topic.URL, null, false);
		}

		public static void OpenHelpView(IHxTopic topic, bool hiliteMatchingWords)
		{
			OpenHelpView(topic.URL, topic, hiliteMatchingWords);
		}

		public static void OpenHelpView(string topicUrl)
		{
			OpenHelpView(topicUrl, null, false);
		}

		public static void OpenHelpView(string topicUrl, bool hiliteMatchingWords)
		{
			OpenHelpView(topicUrl, null, hiliteMatchingWords);
		}

		public static void OpenHelpView(string topicUrl, IHxTopic topic, bool hiliteMatchingWords)
		{
			hiliteMatches = hiliteMatchingWords;
			lastTopic = topic;
			HtmlHelp2BrowserPane help2Browser = GetActiveHelp2BrowserView();

			if(help2Browser != null)
			{
				help2Browser.Load(topicUrl);
				help2Browser.WorkbenchWindow.SelectWindow();
			}
		}

		public static HtmlHelp2BrowserPane GetActiveHelp2BrowserView()
		{
			HtmlHelp2BrowserPane tempPane = null;

			IWorkbenchWindow window = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow;
			if(window != null && window.ActiveViewContent is HtmlHelp2BrowserPane)
			{
				tempPane = (HtmlHelp2BrowserPane)window.ActiveViewContent;
				return tempPane;
			}

			foreach(IViewContent view in WorkbenchSingleton.Workbench.ViewContentCollection)
			{
				if(view is HtmlHelp2BrowserPane)
				{
					tempPane = (HtmlHelp2BrowserPane)view;
					return tempPane;
				}
			}

			tempPane = CreateNewHelp2BrowserView();
			return tempPane;
		}

		public static HtmlHelp2BrowserPane CreateNewHelp2BrowserView()
		{
			HtmlHelp2BrowserPane tempPane = new HtmlHelp2BrowserPane("");
			WorkbenchSingleton.Workbench.ShowView(tempPane);
			return tempPane;
		}
		
		public static void HighlightDocument()
		{
			if(hiliteMatches && lastTopic != null)
			{
				try
				{
					IWorkbenchWindow window = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow;
					if(window != null && window.ActiveViewContent is HtmlHelp2BrowserPane)
					{
						HtmlHelp2BrowserPane help2Browser = (HtmlHelp2BrowserPane)window.ActiveViewContent;
						HtmlHelp2BrowserControl browserControl = (HtmlHelp2BrowserControl)help2Browser.Control;
						lastTopic.HighlightDocument(browserControl.AxWebBrowser.Document);
					}
				}
				catch {}
			}
		}

		ShowHelpBrowser()
		{
		}
	}
}

⌨️ 快捷键说明

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