public override Control GetControl() { if (HtmlBrowser == null || HtmlBrowser.IsDisposed) { _lastNav = DateTime.UtcNow; BrowserUtil.SetBrowserEmulationMode(); HtmlBrowser = new WebBrowser { Dock = DockStyle.Fill, WebBrowserShortcutsEnabled = false, ScriptErrorsSuppressed = true }; HtmlBrowser.Navigate("about:blank"); while (HtmlBrowser.Document?.Body == null) { Application.DoEvents(); } HtmlBrowser.DocumentText = _printer.GetHtmlPage(); HtmlBrowser.DocumentCompleted += AfterPageLoad; HtmlBrowser.Navigating += BrowserNavigating; HtmlBrowser.Document.MouseMove += MouseOver; return(HtmlBrowser); } return(HtmlBrowser); }
public FrmLegendsViewer(string file = "") { InitializeComponent(); // Start local http server LocalFileProvider.Run(); Coordinator = new LvCoordinator(this); FileLoader = summaryTab1.CreateLoader(); FileLoader.AfterLoad += (sender, args) => AfterLoad(args.Arg); Assembly assembly = Assembly.GetExecutingAssembly(); FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(assembly.Location); _version = fvi.FileVersion; var versionNumbers = _version.Split('.'); if (versionNumbers.Length > 3) { _version = $"{versionNumbers[0]}.{versionNumbers[1]}.{versionNumbers[2]}"; } Text = "Legends Viewer"; lblVersion.Text = "v" + _version; lblVersion.Left = scWorld.Panel2.ClientSize.Width - lblVersion.Width - 3; tcWorld.Height = scWorld.Panel2.ClientSize.Height; Browser = new DwarfTabControl(World) { Location = new Point(0, btnBack.Bottom + 3) }; Browser.Size = new Size(scWorld.Panel2.ClientSize.Width - Browser.Left, scWorld.Panel2.ClientSize.Height - Browser.Top); Browser.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Bottom | AnchorStyles.Right; scWorld.Panel2.Controls.Add(Browser); foreach (TabPage tp in tcWorld.TabPages) { foreach (TabControl tabControl in tp.Controls.OfType <TabControl>()) { HideTabControlBorder(tabControl); } } if (file != "") { _commandFile = file; } foreach (var v in tcWorld.TabPages.OfType <TabPage>().SelectMany(x => x.Controls.OfType <BaseSearchTab>())) { v.Coordinator = Coordinator; } BrowserUtil.SetBrowserEmulationMode(); Browser.Navigate(ControlOption.ReadMe); }
public override Control GetControl() { if (HTMLBrowser == null || HTMLBrowser.IsDisposed) { BrowserUtil.SetBrowserEmulationMode(); HTMLBrowser = new WebBrowser { Dock = DockStyle.Fill, WebBrowserShortcutsEnabled = false, DocumentText = Printer.GetHTMLPage(), }; HTMLBrowser.DocumentCompleted += AfterPageLoad; HTMLBrowser.Navigating += BrowserNavigating; HTMLBrowser.Document.MouseMove += MouseOver; return(HTMLBrowser); } return(HTMLBrowser); }
public override Control GetControl() { if (HtmlBrowser == null || HtmlBrowser.IsDisposed) { BrowserUtil.SetBrowserEmulationMode(); var assembly = Assembly.GetExecutingAssembly(); string markdown; var resourceName = "LegendsViewer.README.md"; using (StreamReader reader = new StreamReader(assembly.GetManifestResourceStream(resourceName))) { markdown = reader.ReadToEnd(); } string readme = GetHtmlByMarkdown(markdown); var html = "<html>"; html += "<head>"; html += "<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">"; html += "<link rel=\"stylesheet\" href=\"" + LocalFileProvider.LocalPrefix + "WebContent/styles/github-markdown.css\">"; html += "<style>.markdown-body { margin: 0 auto; padding: 20px; } </style>"; html += "</head>"; html += "<body><div class='markdown-body'>" + readme + "</div></body>"; html += "</html>"; HtmlBrowser = new WebBrowser { Dock = DockStyle.Fill, WebBrowserShortcutsEnabled = false, DocumentText = html, ScriptErrorsSuppressed = true }; HtmlBrowser.Navigating += BrowserNavigating; return(HtmlBrowser); } return(HtmlBrowser); }