寻找支持ANSI转义码的UserControl

时间:2009-12-11 16:57:33

标签: c# user-controls ansi

我希望处理具有ANSI转义码的传入telnet文本。对于赏金,我正在寻找一个完整的实现,我可以将文本附加到缓冲区的末尾。控件应该是可滚动的,但仍然能够处理附加文本,光标定位等。当用户滚动出视图时。

例如,

"\e[0;32mHello \e[0;37mWorld"

会显示绿色的“Hello”和白色的“World”

由于这需要处理光标定位,因此每行设置默认的80个字符(80列)会很好,但也需要处理其他列大小。很高兴能够更改字体。

有关详细信息,请参阅Wikipedia ANSI Escape Codes

3 个答案:

答案 0 :(得分:2)

看看Dart's Vt.NET control(假设VTxxx仿真足够接近ansi仿真)。

答案 1 :(得分:2)

结帐以下链接: AckTerm @ sourceforge.com

我正在尝试使用C#编写的 www.sourceforge.com 中的 终端控制 项目来翻译来自串行接口的ANSI代码 - 如果ackterm不适合你google 终端控制项目

希望这是你正在寻找的......

答案 2 :(得分:1)

假设您的意思是“ANSI转义码”,您可以首先将字符串中的每个转义码转换为一种颜色(因为它听起来像是您感兴趣的唯一代码)。只需使用类似here(页面底部)的表格,并进行一些自定义字符串解析。

ANSI转义码非常古老,所以我不希望它们具有预期的效果。它们用于控制文本终端的输出,而不是像.NET用户控件这样的花哨的东西。