protected override void OnMouseClick(MouseEventArgs e) { base.OnMouseClick(e); foreach (CssBox box in htmlContainer.LinkRegions.Keys) { RectangleF rect = htmlContainer.LinkRegions[box]; if (Rectangle.Round(rect).Contains(e.X, e.Y)) { //Edit start //CssValue.GoLink(box.GetAttribute("href", string.Empty)); string href = box.GetAttribute("href", string.Empty); if (LinkClick != null) { LinkClickEventArgs ev = new LinkClickEventArgs(); ev.Href = href; LinkClick(this, ev); if (ev.Handled) { return; } } CssValue.GoLink(href); //Edit End return; } } }
private void ClickLink(object sender, RoutedEventArgs e) { if (this.LinkClick != null) { HyperlinkButton button = ( HyperlinkButton )sender; LinkClickEventArgs args = new LinkClickEventArgs() { NavigateUri = button.NavigateUri, Action = button.Tag as string }; this.LinkClick(this, args); } }
private void PdfViewer_LinkClick(object sender, LinkClickEventArgs e) { }
protected override void OnLinkClick(LinkClickEventArgs e) { base.OnLinkClick(e); string url = e.Href; if (url.StartsWith("'") && url.EndsWith("'")) { url = url.Substring(1, url.Length - 2); } if (url.StartsWith("\"") && url.EndsWith("\"")) { url = url.Substring(1, url.Length - 2); } if (url.StartsWith("http://") || url.StartsWith("mailto:")) { try { System.Diagnostics.Process.Start(url); } catch { StdDialog.ShowError(Texts.Get("s_cannot_open$url", "url", url)); } e.Handled = true; } if (url.StartsWith("callback://")) { e.Handled = true; try { string mtdname = url.Substring("callback://".Length); Dictionary <string, string> pars = null; if (mtdname.Contains("?")) { pars = new Dictionary <string, string>(); string[] pair = mtdname.Split('?'); mtdname = pair[0]; foreach (string parstr in pair[1].Split('&')) { string[] p2 = parstr.Split(':'); if (p2.Length != 2) { continue; } pars[p2[0]] = HttpUtility.UrlDecode(p2[1]); } } if (mtdname.EndsWith("/")) { mtdname = mtdname.Substring(0, mtdname.Length - 1); } object mtd = Procedures[mtdname]; if (mtd is Action) { ((Action)mtd)(); } else if (mtd is Action <Dictionary <string, string> > ) { ((Action <Dictionary <string, string> >)mtd)(pars); } else { // using reflection we call method, which name is after callback:// Type tp = mtd.GetType(); MethodInfo call = tp.GetMethod("Call", new Type[] { (new object[] { }).GetType() }); if (call != null) { call.Invoke(mtd, new object[] { new object[] { } }); } call = tp.GetMethod("Call", new Type[] { (new object[] { typeof(Dictionary <string, string>) }).GetType() }); if (call != null) { call.Invoke(mtd, new object[] { new object[] { pars } }); } } } catch (Exception err) { Errors.Report(err); } } }
private void viewer_LinkClick(object sender, LinkClickEventArgs e) { if (e.NavigateUri.IsAbsoluteUri && (e.NavigateUri.Scheme == Uri.UriSchemeHttp || e.NavigateUri.Scheme == Uri.UriSchemeHttps)) { HtmlPage.Window.Navigate(e.NavigateUri, "_blank"); } }
private void TwitterStatusViewer_LinkClick(object sender, LinkClickEventArgs e) { string url; switch (e.Url[0]) { case '@': url = "https://twitter.com/" + e.Url.Substring (1); break; case '#': url = "https://search.twitter.com/search?q=" + Uri.EscapeUriString (e.Url.Substring (1)); break; case '/': url = "https://twitter.com" + e.Url; break; default: url = e.Url; break; } try { Process.Start (url); } catch {} }
// a hyper link was clicked on the PdfViewer control.. private void PdfViewer_LinkClick(object sender, LinkClickEventArgs e) { e.Handled = true; // ..so display a Gecko based web browser with the link's address.. new FormWebBrowserGecko(e.Link.Uri).Show(); }