【问题标题】:Make Current Line in Read-Only Rich Text Box Editable使只读富文本框中的当前行可编辑
【发布时间】:2013-04-10 09:17:33
【问题描述】:

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

这是表格的图片:

我想让它类似于:

【问题讨论】:

  • 你应该检查这个帖子stackoverflow.com/questions/2425847/… 并找出当前列是否大于该行中的第一个>...
  • 谢谢。我创建了一个新的 Windows 窗体项目来测试这一点。现在,我将尝试将其应用到我的程序中。
  • 您是否考虑过改用ListBox?
  • @Dinah,不幸的是,我没有考虑使用 ListBox。但我已经修复了“使当前行可编辑”的问题。谢谢建议,辛苦了。我会考虑将它用于类似的项目。
  • 现在我想起来了,制作控制台应用程序而不是 Windows 窗体应用程序会容易得多......哦,好吧。

标签: c# forms richtextbox


【解决方案1】:

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

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

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

这可能很老套,但可能是我在最后一刻会做的事情。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 2023-03-20
    • 2017-12-27
    • 1970-01-01
    • 2023-02-06
    • 1970-01-01
    相关资源
    最近更新 更多