创建脚本编辑器

/// <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; } }


原文地址:https://www.cnblogs.com/nba4523/p/1875078.html