RichTextBox 控件
所以你想使用 Markdown 但你不希望用户知道它?这可能不是一个可以实现的目标。我认为 Markdown 的重点在于它面向愿意学习一点相当自然的语法并以纯文本形式编辑所有内容的作者(比如 Wikipedia?是否有纯粹的 WYSIWYG 编辑器呢?可能......可能还有一些其他维基百科编辑人员必须来清理生成的标记和格式......)。如果您希望它对用户透明(如 MS Word),Markdown 可能不是您想要的,或者在这种情况下给您它所宣传的优势。
输入发生在 Windows 窗体中
哎呀!现在我更好地理解了你的问题。我想这取决于您的 Windows 窗体应用程序的外观,嵌入式 IE 控件是否像拇指酸痛一样突出。如果你尝试一下,你可能会发现你可以让它工作。[1]
在你的位置上,我会尝试这样的事情 [2]:
如果您认为这种安排不能很好地满足您的用户(尤其是纯文本窗口中的所有编辑),那么我再次认为 Markdown 不是您特定应用程序的答案。如果您认为您的用户热衷于编辑纯文本的想法,那么我敢打赌我们可以找到解决方案。请说清楚?
杰瑞德。
[1] 我成功地将一个 IE HTML 控件严格放入项目中,以将一些生成的结果显示为 PDF(使用 IE 阅读器插件,如 Adobe Reader 或 Foxit)。用户不知道 GUI 的那部分是一个 IE 控件,它只是显示 PDF,允许打印和保存等。
[2] ...但删除边框并使两个拆分控件接触嵌入式 IE 控件的所有四个边缘,或者非常接近...例如保持浅灰色或白色,并消除 IE 的任何边框控制,使其融入周围的控制。也许把它放在它自己的标签页上,我挑战非技术用户告诉/关心它是 HTML 控件还是原生控件。
这一切我可能完全错了(必须亲眼看到它的实际效果才能确定它是否有效),但这可能比编写自己的交互式 Markdown 编辑器更容易......
...实际上要实现您自己的 C# Markdown 编辑器,您只需在嵌入式 IE 控件旁边放置一个文本编辑框,然后在单独的线程上通过 .NET Markdown->HTML 转换器运行当前 Markdown,然后将 HTML 替换为IE 控件(假设 Markdown->HTML 转换器非常自由且健壮,不会引发任何异常)。