C#设计/实现此UI的正确方法?

时间:2009-08-06 12:17:29

标签: c# user-interface

这是我与C#的第一次约会。我想到的形式包括

  1. textfield ,将提供可执行文件的路径。
  2. 运行”按钮,它将调用可执行文件(cosole app)
  3. 可执行控制台输出应显示在富文本框
  4. 现在当我点击richtext框中的一行时,我选择并获取该行中的文本。此文本映射到其他一些文本信息。我需要在线上显示此文本信息作为工具提示。

    更多解释: exe的输出显示在文本框中

    地址1 =值

    地址2 =值

    现在,当我单击“Address1 = Value”行时,我会映射此文本以查找有关设置的位的信息

    启用:1

    选择:0 ..etc

    这个信息我需要在线上显示为工具提示。这样的事情可能吗?对于这个问题,RTB /工具提示是否有更好的替代方案?

    由于

    的Vivek

2 个答案:

答案 0 :(得分:2)

我建议对返回的每个数据字符串使用ListBox,然后如果使用工具提示,它会更有意义,因为您将鼠标悬停在列表项而不是整个文本字段上。

使用ListBox和项目应该可以更容易地使用整体,因为它将它们分成定义的项目,而不是仅仅将行附加到文本框。

此外,我认为您可能有很多工作要做,因为您试图让文本框按照您希望的方式运行,以便根据行的文本不同地处理每一行。

如果您正在使用文本框,因为以后您希望能够选择要复制和粘贴的所有输出,我会默认隐藏文本框并且有一个按钮,显示“Toggle Raw Output”,它将显示/隐藏文本字段,以便用户轻松获取文本。使用ListBox作为信息的主要显示。

答案 1 :(得分:1)

我从您的问题中了解到,当您单击RTB中的行时,您的代码会扫描该行上的文本,识别与该行关联的额外数据,然后将其插入RTB的工具提示中。 / p>

从技术上讲,我相信这是可行的 - 虽然我不是100%确定插入工具提示文本的机制。然而,作为用户界面功能,我个人不会这样做,因为只要鼠标指针位于RTB上的任何位置,就会显示工具提示文本。因此,如果用户单击第1行(并查看与第1行相关联的数据)但悬停第3行的鼠标,他们可能会认为工具提示与第3行相关联。

你可以通过措辞强烈的工具提示缓解我的担忧,但我觉得你正在做的是滥用工具提示而不是用于其他目的。恕我直言,你可能最好用树形控件而不是RTB来显示你的数据,因为树形控件更自然地表达你想要的功能(点击一个节点,展开它以查看细节等)。