XtraEditors 库中的多数编辑器都派生于 TextEdit 类,也因此提供了文本框。 本主题描述如何使用文本框、应用选中区和使用剪贴板。 TextEdit 类完全实现了此功能。 注意,子类可能只使用此功能的部分,或者可能根本不使用此功能。
文本编辑基础
最终用户可以使用键盘或鼠标导航文本。 向左键和向上键是向前移动插入点,而向右键和向后键则向后移动插入点。 如果在按下方向键时,CTRL 键也被按下,则插入点移动到下一个或前一个所找到的空格字符。 HOME 和 END 键可以分别用于把插入点移动到首字符之前,或者末字符之后。 要通过代码改变插入点的位置,则使用 TextEdit.SelectionStart 属性。
在文本编辑器中,所有公共的文本编辑功能都是可用的。 这包括键入字符、使用 BACKSPACE 或 DEL 键删除字符等。 注意,最终用户可以按下 CTRL+DEL 组合键来清除编辑器的全部内容。
要在代码中改变编辑器的取值,应该把取值指派到 BaseEdit.EditValue 或 BaseEdit.Text 属性。 修改编辑器的取值会引发其 RepositoryItem.EditValueChanging 和 BaseEdit.EditValueChanged 事件。 接管它们来管理用户输入。
通过使用 RepositoryItemTextEdit.MaxLength 属性,可以限制由最终用户输入的字符数目。 可以使用编辑器掩码,来对最终用户输入进行更多控制。 通过掩码,将限制允许最终用户输入的字符。 可以使用 RepositoryItemTextEdit.Mask 属性来指定掩码。 关于使用掩码的更多详细信息,请参阅 掩码编辑器概述 主题。
文本编辑器可以用于输入密码。 要执行该操作,则把一个字符指派到 RepositoryItemTextEdit.PasswordChar 属性。 此字符将被显示,而不显示实际输入的字符。
选中区
可以使用鼠标和键盘来应用选中区。 要在文本框内选中部分文本,最终用户必须把插入点放置在被选中文本的起始处,然后在按下 SHIFT 键的同时使用导航键 (请参阅上述关于可用的导航键的细节)。 要选中编辑器的全部内容,或者要移除选中区,可以使用 F2 键。 要选中一个单词 (在两个空格之间的连续字符),最终用户应该双击它。
如果需要通过代码选中部分文本,则使用 TextEdit.SelectionStart 和 TextEdit.SelectionLength 属性。 要选中全部内容或清除选中区,则使用 TextEdit.SelectAll 和 TextEdit.DeselectAll 方法。 可以使用 TextEdit.SelectedText 属性来访问选中的文本。 指派到该属性的字符串将替换当前选中的文本。
内建上下文菜单 (撤销和剪贴板操作)
文本编辑器提供了一个内建的上下文菜单,允许最终用户撤销最近的操作、执行剪贴板操作、以及选中编辑器的全部内容。 也可以使用快捷键或代码来执行所有这些操作。
菜单项 | 操作 | 快捷键 | 成员 |
---|---|---|---|
Undo(撤销) | 恢复以前的取值。 | CTRL+Z | TextEdit.Undo |
Copy(复制) | 把选中的文本复制到剪贴板。 | CTRL+C, CTRL+INS | TextEdit.Copy |
Paste(粘贴) | 粘贴剪贴板内容。 | CTRL+V, SHIFT+INS | TextEdit.Paste |
Cut(剪切) | 把选中的文本复制到剪贴板并删除它。 | CTRL+X, SHIFT+DEL | TextEdit.Cut |
Delete(删除) | 删除选中的文本。 | DEL, BACKSPACE | TextEdit.SelectedText |
Select All(全选) | 选中编辑器内的全部文本。 | CTRL+A | TextEdit.SelectAll |