在只读富文本框中编辑当前行可编辑

时间:2013-02-08 01:31:44

标签: c# forms richtextbox

我正在尝试在C#中进行命令提示符克隆,这样我就可以熟悉使用IO了。但是,我创建了两个文本框(一个用于命令,另一个用于“参数”),而不是仅仅一个文本框,还有一个富文本框用于查看命令的结果。这可能听起来令人困惑,标题可能会产生误导,但我不知道怎么说它。无论如何,我的问题是 - 你如何使当前行可编辑而其余只读?如何在两个文本框中组合命令和参数,以便我不需要两个单独的文本框?我花了6天时间试图弄清楚实现这个的逻辑,但我一无所获。

以下是表单的图片:

enter image description here

这就是我想要使它类似于:

enter image description here

1 个答案:

答案 0 :(得分:1)

我不确定你是否可以这样做,但如果是我,这是一个“现在就完成”的情况(这只是我的头脑中),我会创建一个用户控件包含“屏幕”。此用户控件将RTF或列表框作为顶部,并在其下方刷新文本框。

我会移除边框并将这些控件包装在有边框的面板中。这将模拟单个控件。

文本框将检查其中一个按键事件中的回车键,控件本身将具有可由父控件处理的事件。

这可能是hacky,但它可能就是我在最后一刻的情况下所做的。

哦,就命令和参数而言,如果您将文本框作为单个值读取,然后将字符串拆分为List或数组,则可以定义一个开关或其他一些知道该怎么做的条件代码带参数(索引1+),基于第一项/索引的值。