如何在 Windows 窗体 C# 中为文本框设置 Scintilla

Posted

技术标签:

【中文标题】如何在 Windows 窗体 C# 中为文本框设置 Scintilla【英文标题】:how to set Scintilla for textbox in windows form C# 【发布时间】:2015-01-07 00:07:54 【问题描述】:

我有一个带有文本框的 Windows 窗体,用户可以在其中编写 Python 脚本。

我在表单中使用 Scintilla,但我希望它的区域是一个文本框。有什么方法可以将 Scintilla 绑定到文本框?

以下是我尝试过的代码:

 this.scintilla2.ConfigurationManager.Language = "python";
 this.scintilla2.Dock = System.Windows.Forms.DockStyle.Fill;
 this.scintilla2.Location = new System.Drawing.Point(600, 430);
 this.scintilla2.Name = "scintilla2";
 this.scintilla2.TabIndex = 0;
 this.Controls.Add(this.scintilla2);

【问题讨论】:

关于这个主题的任何线索或帮助 为什么要将它绑定到文本框?你想用它实现什么? scintilla 已经是一个具有高级功能的文本框,如语法高亮等。上面有一个 textchanged 事件,你也可以触发它以“绑定”到另一个文本框的文本,如果你想。顺便说一句 - 我走了同样的路,最后改用 AvalonEdit。我的 b/c 也是一个 WPF 应用程序,但我仍然认为 AvalonEdit 对增强功能更加友好(动态代码完成等)。 【参考方案1】:

您可以使用ScintillaNET

下载组件,解压缩并将其添加到 Visual Studio 中的“工具箱”中。 将 Scintilla 文件夹的路径添加到“环境变量”中,就可以在项目中使用了。

Here你可以找到源代码示例。

【讨论】:

以上是关于如何在 Windows 窗体 C# 中为文本框设置 Scintilla的主要内容,如果未能解决你的问题,请参考以下文章

如何通过在 C# windows 窗体中的文本框中输入来更改图像的大小?

急求C#窗体操作VSTO如何向word模板中的特定文本框添加图文信息

如何从 c# Windows 窗体中文本框的文本内容更新 datagridview 的列

如何检测windows窗体中的控件并对其进行编辑c#

c# windows窗体中的文本框

在 c# 中使用文本框中的数据库值打开特定的 Windows 窗体