scintillaNET 编辑器中的链接可能性

Posted

技术标签:

【中文标题】scintillaNET 编辑器中的链接可能性【英文标题】:link in scintillaNET editor possibility 【发布时间】:2014-12-17 06:45:38 【问题描述】:

如何给出在 scintillaNET 编辑器中输入的文本的链接?是否可以。任何建议都将是可观的。提前致谢

【问题讨论】:

link from webbrowser to ScintillaNET editor in a same c# form? 的可能重复项 【参考方案1】:

恕我直言,我认为这不是 link from webbrowser to ScintillaNET editor in a same c# form 的重复。

要将文档的一部分定义为链接,您可以对其应用样式 (See link)。

ScintillaCtlName.StartStyling(5);
//Being 5 the start position of the link
ScintillaCtlName.SetStyling(6, 40);
//Being 6 the lenght of the link and 40 the style number that you are using as a link.

您可以使用 40 到 255 之间的任何样式。例如,如果您选择样式 #40 将文本的一部分标记为链接,您可以这样定义...

ScintillaCtlName.Styles[40].ForeColor = Color.Blue;
ScintillaCtlName.Styles[40].BackColor = Color.White;
ScintillaCtlName.Styles[40].Bold = false;
//The "Hotspot" property allows you to raise an event when you click on the text where style # 40 is applied
ScintillaCtlName.Styles[40].Hotspot = true; 
ScintillaCtlName.Styles[40].Visible = true;
ScintillaCtlName.Styles[40].Underline = true;

您应该将事件处理程序附加到 Scintilla 控件:

ScintillaCtlName.HotspotClick += 
new System.EventHandler<ScintillaNET.HotspotClickEventArgs>this.ScintillaCtlName_HotspotClick);

然后,当您捕获此事件时,根据需要编写代码:

private void ScintillaCtlName_HotspotClick(object sender, HotspotClickEventArgs e)

    //Your code...
    MessageBox.Show("Link Clicked!!!");
    //e.Modifiers: gets the modifier keys (SHIFT, CTRL, ALT) held down when clicked.
    //e.Position: gets the zero-based document position of the text clicked.

【讨论】:

以上是关于scintillaNET 编辑器中的链接可能性的主要内容,如果未能解决你的问题,请参考以下文章

从 ScintillaNet 打印内容时打印行号

如何读取 ScintillaNET 类的 Text 属性

在 ScintillaNET 控件中实现块注释/取消注释

未触发 ScintillaNet Calltip 事件

ScintillaNET 与 AvalonEdit 为 WPF 应用程序提供脚本接口

VB.NET 中的 ScintillaNET 问题