链接scintillaNET编辑器的可能性

时间:2014-12-17 06:45:38

标签: .net hyperlink scintilla

如何提供在scintillaNET编辑器中输入的文本的链接?可能吗。任何建议都是可以理解的。提前致谢

1 个答案:

答案 0 :(得分:0)

恕我直言,我认为它不是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.
}