2009-08-06 86 views
1

这是我与C#的第一次幽会。我心目中的形式由C#正确的方式来设计/实现此用户界面?

  1. 文本字段将与一个可执行文件的路径被供给。
  2. A“运行”按钮,将调用可执行程序(cosole APP)
  3. 可执行控制台输出应显示在丰富的文本框

现在,当我点击richtext框中的一行时,我选择并获取行中的文本。此文本映射到其他一些文本信息。我需要将该文本信息作为工具提示来显示。

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

地址1 =价值

地址2 =价值

现在,当我点击行“地址1 =价值”,我映射这些文字查找关于设置什么样的位

一些信息能够:1

选择:0。 .etc

此信息我需要显示为工具提示在线。这样的事情可能吗?对于这个问题,RTB/tooltip有更好的选择吗?

感谢

维韦克

回答

1

我从你的问题理解的是,当你点击在RTB行了,你的代码扫描该行的文本,标识与该行相关的额外数据和然后将其插入RTB的工具提示中。

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

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

+0

谢谢!一棵树听起来更好 – excray 2009-08-07 08:03:27

2

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

使用列表框和项目应该使整体工作更容易,因为它将它们分隔为定义的项目,而不是将行添加到文本框。

此外我认为你可能有工作在很多商店为你试图让文本框的行为你想让它为它对待每一行不同的依赖于该行的文本的方式。

如果你使用的是文本框,因为以后你想能够选择所有的输出来复制和粘贴它,我会默认隐藏文本框,并有一个按钮,如“切换原始输出”显示/隐藏文本字段,以便用户可以轻松获取文本。使用ListBox作为信息的主要显示。