在桌面VB.NET表单应用程序中的“绘画”方法中在屏幕上绘制不可打印的字符

我已经为程序员(老式大型机样式)编写了一个编辑器。当显示二进制文件(按Ascii编码)时,许多字符未显示在屏幕上的位置。当使用DrawString或TextRenderer.DrawText显示时,某些字符会将光标移到左上角,而其余的字符串则从point(0,0)开始显示。其他人将光标移动到当前行的开头。我开始用空白将chr(0)替换为(31),然后每次发现新问题时,我都在debug中找到了值,并将其添加到替换列表中:Chr(127)+ Chr(129)+ Chr (141)+ Chr(143)+ Chr(144)+ Chr(157)。但是我厌倦了这种方法。我需要一个真正的解决方案,而不是徒劳。 在屏幕上绘制“傻”字符串并在字符串中出现无法打印的字符的任意字符(粗点?)的正确方法是什么?

图1:这就是我从ascii字符构造字符串的方法

图2:这就是我画线的方式

图3:这是结果窗口

谢谢

This is how I construct the string from it's ascii characters:

this is how I draw the string:

This is the resulting window:

评论