private void HandleLinkClick(LinkClickEventArgs e) { OnLinkClick(e); if (e.Handled) { return; } if (e.Link.TargetPage.HasValue) { Page = e.Link.TargetPage.Value; } if (e.Link.Uri != null) { try { Process.Start(e.Link.Uri); } catch { // Some browsers (Firefox) will cause an exception to // be thrown (when it auto-updates). } } }
/// <summary>Raises the <see cref="E:System.Windows.Forms.Control.MouseUp" /> event.</summary> /// <param name="e">A <see cref="T:System.Windows.Forms.MouseEventArgs" /> that contains the event data. </param> protected override void OnMouseUp(MouseEventArgs e) { base.OnMouseUp(e); if (_dragState == null) { return; } int dx = Math.Abs(e.Location.X - _dragState.Location.X); int dy = Math.Abs(e.Location.Y - _dragState.Location.Y); var link = _dragState.Link; _dragState = null; if (link == null) { return; } if (dx <= SystemInformation.DragSize.Width && dy <= SystemInformation.DragSize.Height) { var linkClickEventArgs = new LinkClickEventArgs(link); HandleLinkClick(linkClickEventArgs); } }
/// <summary> /// Called when a link is clicked. /// </summary> /// <param name="e"></param> protected virtual void OnLinkClick(LinkClickEventArgs e) { var handler = LinkClick; if (handler != null) { handler(this, e); } }
private void _renderer_LinkClick(object sender, LinkClickEventArgs e) { OnLinkClick(e); }