2009-08-06 8 views
1

これはC#の最初のトリスターです。私は考えている形式は、実行のパスが供給されるC#このUIを設計/実装する正しい方法は?

  1. テキストフィールドからなります。
  2. A「実行」実行可能ファイルを呼び出しますボタン(cosoleアプリ)
  3. 実行可能なコンソール出力が豊富なテキストボックスに表示されます。

リッチテキストボックス内の行をクリックすると、その行内のテキストが選択されて取得されます。このテキストは他のテキスト情報にマップされます。このテキスト情報をツールチップとしてライン上に表示する必要があります。

詳しい説明:exeファイルの出力は、テキストボックスに表示され

としてアドレス1 =

アドレス2 =値

今、私はライン「アドレス1 =値」をクリックすると、

1を選択:私は有効

ように設定されているものをビットに関するいくつかの情報を見つけるために、このテキストをマップ0。 .etc

この情報私は、ライン上にツールチップとして表示する必要があります。そんなことは可能ですか?この問題のRTB /ツールチップの代替手段がありますか?私はあなたの質問から理解して何

のVivek

答えて

1

おかげであなたがRTBの行をクリックすると、あなたのコードは、その行のテキストをスキャンすることで、その行に関連する余分なデータを識別し、それをRTB用のツールチップに挿入します。

技術的にはこれは可能ですが、私はツールチップのテキストを挿入する仕組みについて100%確信していません。しかし、マウスポインタがRTBのどこにあっても、ツールチップのテキストが表示されるため、ユーザーインターフェイス機能として私は個人的には行いません。したがって、ユーザがライン#1をクリックすると(ライン#1から関連付けられたデータを見る)、ライン#3のマウスを移動すると、ライン#3に関連付けられていると考えるかもしれない。

強く言い直されたツールチップで私の懸念を緩和することができますが、あなたがしていることは、意図したもの以外のツールチップを悪用していると感じています。 RTBではなく、ツリーコントロールでデータを表示するほうが良いかもしれません。ツリーコントロールは、自分が望む機能をより自然に表現するためです(ノードをクリックしたり、詳細を表示するなど)。

+0

ありがとうございます!木がよりよく聞こえる – excray

2

返されるデータの各文字列に対してListBoxを使用することをお勧めします。ツールチップを使用すると、テキストフィールド全体ではなくリストアイテム上にカーソルを合わせるので、ツールチップを使用するほうがはるかに意味があります。

ListBoxと項目を使用すると、テキストボックスに行を追加するのではなく、定義済みの項目に分割されるため、項目全体を扱いやすくなります。

また、テキストボックスを行のテキストに応じて別々に扱うために、テキストボックスを適切に動作させるために、多くの作業が必要になると思います。

後ですべての出力を選択してコピー&ペーストできるようにするためにテキストボックスを使用している場合は、デフォルトではテキストボックスが非表示になり、 "Raw Output Toggle"のようなボタンが表示されますユーザーがテキストを簡単に取得できるようにテキストフィールドを表示/非表示します。情報のプライマリディスプレイとしてListBoxを使用しています。

関連する問題