65.9K
CodeProject 正在变化。 阅读更多。
Home

AutoBracketsTextBox 用于括号自动补全

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.76/5 (22投票s)

2016年4月3日

LGPL3

1分钟阅读

viewsIcon

20882

downloadIcon

434

启用括号和符号自动补全

引言

自动补全和 Intellisense 是每个开发者都喜欢的特性,不是吗? 遗憾的是,没有内置的括号自动补全功能,所以我在这里提出这个用户控件。

背景

我第一次使用 Sublime 文本编辑器时就爱上了这个功能,所以分享一个实现相同功能的控件。

实现

该控件仅包含 2 个对象

BracketsList:包含将要自动补全的括号和符号的数组。

AllowAutoComplete:您可以简单地将其设置为 true 以激活该功能,或将其关闭以禁用它。

Using the Code

简单用法

  1. 将控件拖放到您的窗体上。
  2. 转到属性并编辑括号列表。

动态用法

利用这个用户控件非常简单,如下面的代码所示

(如果您想创建一个代码编辑器,那么您需要添加一些正则表达式模式等。)

 AutoBracketsTextBox ABTB  = new AutoBracketsTextBox();
 ABTB.Dock = DockStyle.Fill;
 ABTB.BracketsList = new[] {  "{" ,  Environment.NewLine + Environment.NewLine + "}"  };
 Controls.Add(ABTB);

示例

最简单的示例。

简单的文本编辑器。

强大的文本编辑器。

字符串自动补全示例。

工作原理

KeyPress事件中,如果BracketsList包含您点击的char,那么 ABTB 会将char添加到文本的旁边(它会尊重光标的位置)。

© . All rights reserved.