///
<summary>
///
创建脚本编辑器
///
</summary>
///
<param name="TabPageText">
当前脚本名字
</param>
///
<param name="scriptLanguage" >
脚本类型 e.g. rb js
</param>
///
<returns></returns>
private
ScintillaNet.Scintilla CreateScriptEditor(
string
TabPageText,
string
scriptLanguage)
{
try
{ TabPage newPage
=
new
TabPage(TabPageText);
newPage.Tag
=
CurrentMenuSelectionLoaderType;
ScintillaNet.Scintilla scintilla
=
new
ScintillaNet.Scintilla();
scintilla.Location
=
new
System.Drawing.Point(
12
,
26
);
scintilla.Name
=
TabPageText
+
"
scintilla
"
; scintilla.Size
=
new
System.Drawing.Size(
600
,
400
);
scintilla.Styles.BraceBad.FontName
=
"
Verdana
"
;
scintilla.Styles.BraceLight.FontName
=
"
Verdana
"
;
scintilla.Styles.ControlChar.FontName
=
"
Verdana
"
;
scintilla.Styles.Default.FontName
=
"
Verdana
"
;
scintilla.Styles.IndentGuide.FontName
=
"
Verdana
"
;
scintilla.Styles.LastPredefined.FontName
=
"
Verdana
"
;
scintilla.Styles.LineNumber.FontName
=
"
Verdana
"
;
scintilla.Styles.Max.FontName
=
"
Verdana
"
;
scintilla.TabIndex
=
1
;
if
(scriptLanguage
==
"
js
"
)
{ scintilla.ConfigurationManager.Language
=
"
js
"
; }
else
{ scintilla.ConfigurationManager.CustomLocation
=
"
ruby.xml
"
; scintilla.ConfigurationManager.Language
=
"
ruby
"
; } scintilla.Styles.BraceLight.ForeColor
=
Color.Red; scintilla.Styles.BraceLight.BackColor
=
Color.LightGray; scintilla.Indentation.ShowGuides
=
true
; scintilla.IsBraceMatching
=
true
; scintilla.Styles.LineNumber.IsVisible
=
true
; scintilla.Margins[
0
].Width
=
20
; scintilla.AutoComplete.List.Sort();
//
scintilla.AutoComplete.DropRestOfWord = true;
//
scintilla.AutoComplete.AutomaticLengthEntered = true;
scintilla.AutoComplete.AutoHide
=
true
;
//
scintilla.AutoComplete.FillUpCharacters = "(";
scintilla.CharAdded
+=
new
EventHandler
<
CharAddedEventArgs
>
(scintilla_CharAdded);
//
scintilla.AutoCompleteAccepted += new EventHandler<AutoCompleteAcceptedEventArgs>(scintilla_AutoCompleteAccepted);
scintilla.Dock
=
DockStyle.Fill; newPage.Controls.Add(scintilla); tabControl1.Controls.Add(newPage);
//
新建脚本时将tabpage的tag赋值为脚本类型字符串,e.g. "rb"/"js"
newPage.Tag
=
scriptLanguage; tabControl1.SelectedTab
=
newPage;
return
scintilla; }
catch
(Exception ex) {
return
null
; } }