文本框控制访问的效率与处理文本的本地副本有关

时间:2010-09-04 16:22:49

标签: c# string textbox

我正在编写一个类似app的小记事本,但有一些额外的功能。

我使用富文本框作为主要区域。我的问题是在对文本框的内容执行操作时,例如代码格式化,突出显示等,这可能需要读取每个字符并在必要时替换。偶尔回过文本索引。 什么对autoformat按钮更有效:

  • 直接阅读textbox.text 属性。附加格式化 字符串字符串成一个字符串构建器& 最后回到文本框(使用 toString函数)。

  • 将整个内容复制到 字符串,阅读字符 人物变成了新的 stringbuilder .....和上面一样。 这种方法不会创造额外的 中的大文本内容的副本 文本框?或者它比效率更高 访问文本框控件 反复?

如果可能的话,在文本框代码中跟踪函数,括号,括号等(用于动态代码格式化)的一些想法将会有所帮助。

1 个答案:

答案 0 :(得分:0)

因为您将不得不解析代码以进行格式化,所以我不会从文本框本身执行此操作。我会将整个文本框内容复制到一个字符串中并从字符串中读取字符。这是因为就程序本身而言,与任何控件的交互增加了另一层复杂性。您需要首先访问Textbox控件,然后访问文本的内部表示来获取字符,而不是直接访问String变量来获取字符。这是一个额外的步骤,对于大量文本,它会减慢你的应用程序。

要进行实际的解析和格式化,您可以编写自己的标记生成器和格式化程序,也可以使用已构建的标记生成器和格式化程序。我也无法提供太多帮助,但不幸的是,它并不像跟踪括号那么简单。看看Sourceforge或类似的网站;他们可能会有格式化程序,你可以学习,以帮助你建立自己的。