【问题标题】:Code-Folding Code on RichTextBox using TreeView使用 TreeView 在 RichTextBox 上折叠代码
【发布时间】:2013-10-18 06:03:14
【问题描述】:

我目前正在开发一个 IDE,并且正在研究代码折叠代码。 我正在考虑使用 TreeView,因为它具有折叠和展开属性,但我不知道/不确定如何在 RichTextBox 上实现它。

即使是显示 RichTextBox 和 TreeView 之间交互的初始代码也将不胜感激。

like:

{

}

then RichTextBox will have a line indicating till where to collapse .

提前非常感谢!

【问题讨论】:

    标签: c# winforms treeview code-folding


    【解决方案1】:

    在RichTextBox 中包含一个TreeView 似乎并不可行。根据我的经验,在 RTB 上构建一些东西是很成问题的,并且在没有很多怪癖的情况下无法呈现所需的结果。

    我建议看看 Fast-Colored-TextBox:
    http://www.codeproject.com/Articles/161871/Fast-Colored-TextBox-for-syntax-highlighting

    或者可能从头开始构建一个类似的控件(如果您也遭受NIH 的困扰),而不是尝试扩展 RTB。

    【讨论】:

    • 我已经看到了fastcolored @DeadDog ...问题是它不支持一些我最喜欢的“RichTextBox”属性
    • 那些属性是什么?
    【解决方案2】:

    如果您真的需要自己的代码编辑器,您应该考虑使用Avalon Edit。它能够重建 Visual Studio 编辑器。因此,它拥有您需要的所有功能(以及更多功能)。

    我知道它是一个 WPF 组件,而不是 winforms。但是host a WPF control within winforms很容易。所以最好采取这条路线,因为尝试将树视图与富文本框交织将永远不会完全匹配您喜欢的内容(如果您使用不同的字体或如何确定换行,请考虑找出文本行的像素大小) .

    【讨论】:

    • 我还推荐一个“真正的”源代码编辑器,一个 Windows.Forms 将是 ICSharpCode.TextEditor:codeproject.com/Articles/30936/Using-ICSharpCode-TextEditor
    • @Oliver,感谢先生们的帮助,但我现在有了这些......我想要的只是用于代码折叠的单独代码
    • 与@PacMani 相同,我已经看到了这些,但仍然感谢...我需要单独的代码来折叠代码先生
    • @Elegiac:但是,在将过多的工作放入 RichTextBox 之前要小心。我们在尝试用它实现特殊的东西时陷入了深渊,因为 RTB 通常不能按预期工作 ;-)
    • 但这是可能的@PacMani ?
    猜你喜欢
    • 1970-01-01
    • 2022-08-19
    • 2016-10-26
    • 2017-03-10
    • 1970-01-01
    • 2011-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多