AutoBracketsTextBox 用于括号自动补全






4.76/5 (22投票s)
启用括号和符号自动补全
引言
自动补全和 Intellisense 是每个开发者都喜欢的特性,不是吗? 遗憾的是,没有内置的括号自动补全功能,所以我在这里提出这个用户控件。
背景
我第一次使用 Sublime 文本编辑器时就爱上了这个功能,所以分享一个实现相同功能的控件。
实现
该控件仅包含 2 个对象
BracketsList
:包含将要自动补全的括号和符号的数组。
AllowAutoComplete
:您可以简单地将其设置为 true
以激活该功能,或将其关闭以禁用它。
Using the Code
简单用法
- 将控件拖放到您的窗体上。
- 转到属性并编辑括号列表。
动态用法
利用这个用户控件非常简单,如下面的代码所示
(如果您想创建一个代码编辑器,那么您需要添加一些正则表达式模式等。)
AutoBracketsTextBox ABTB = new AutoBracketsTextBox();
ABTB.Dock = DockStyle.Fill;
ABTB.BracketsList = new[] { "{" , Environment.NewLine + Environment.NewLine + "}" };
Controls.Add(ABTB);
示例
最简单的示例。
简单的文本编辑器。
强大的文本编辑器。
字符串自动补全示例。
工作原理
在KeyPress
事件中,如果BracketsList
包含您点击的char
,那么 ABTB 会将char
添加到文本的旁边(它会尊重光标的位置)。