private void rtbRevisionHeader_LinkClicked(object sender, LinkClickedEventArgs e) { var link = _linkFactory.ParseLink(e.LinkText); if (!Uri.TryCreate(link, UriKind.Absolute, out var uri)) { return; } if (uri.Scheme == "gitext") { CommandClicked?.Invoke(sender, new CommandEventArgs(uri.Host, uri.AbsolutePath.TrimStart('/'))); return; } try { using var process = new Process { EnableRaisingEvents = false, StartInfo = { FileName = uri.AbsoluteUri } }; process.Start(); } catch (Exception ex) { MessageBox.Show(this, ex.Message, Strings.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void rtbRevisionHeader_LinkClicked(object sender, LinkClickedEventArgs e) { var link = _linkFactory.ParseLink(e.LinkText); try { var result = new Uri(link); if (result.Scheme == "gitext") { CommandClicked?.Invoke(sender, new CommandEventArgs(result.Host, result.AbsolutePath.TrimStart('/'))); } else { using (var process = new Process { EnableRaisingEvents = false, StartInfo = { FileName = result.AbsoluteUri } }) { process.Start(); } } } catch (UriFormatException) { } }
private void rtbRevisionHeader_LinkClicked(object sender, LinkClickedEventArgs e) { try { _linkFactory.ExecuteLink(e.LinkText, commandEventArgs => CommandClicked?.Invoke(sender, commandEventArgs)); } catch (Exception ex) { MessageBox.Show(this, ex.Message, Strings.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void rtbRevisionHeader_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.XButton1) { DoCommandClick("navigatebackward"); } else if (e.Button == MouseButtons.XButton2) { DoCommandClick("navigateforward"); } void DoCommandClick(string command) { CommandClicked?.Invoke(this, new CommandEventArgs(command, null)); } }