0

私のプロジェクトには、ユーザーがアプリケーションの単純なタイプのスクリプト構文を入力するテキスト ボックスがあります。テキストボックス内の特定の単語をクリック可能にすることが可能かどうかを調べようとしています。ユーザーがクリックすると、openfiledialog が表示され、その単語が選択したファイルのパスに置き換えられます。

私の最初の方法は、テキストボックスを検索して単語のxy座標を取得し、カーソルがその単語の上にあるときにカーソルを変更し、テキストボックスをクリックすると表示されることです。x/y 値が変更され、正しい単語を置き換えるのに役立たないため、うまくいくとは思いませんが。

この単語は、テキストボックスに何度も表示される可能性があります...標準のテキストボックスで可能であれば、これを実装する方法についてのガイダンスをいただければ幸いです。

4

2 に答える 2

0

このリンクを参照してください

コードビハインドを操作したい場合は、クリックするとコマンド引数を使用して関数またはポストバックをトリガーするJavaScriptリンクを簡単に作成できます。

于 2012-12-21T00:46:15.197 に答える
0

クラス全体を作成しなくても、おそらくGetCharIndexFromPositionから始めることになるでしょう。これにより、テキストボックスの左上隅と右下隅を指定して、テキストボックスに表示されている最初と最後の文字のインデックスを見つけることができます。

そこから、それらの境界の間で関心のあるキーワードを解析する必要があります (表示されている文字のみを検索する必要があるため、高速である必要があります)。次に、一連のRects を指定します。今回は、キーワードをバインドするGetPositionFromCharIndexを使用します。GDI を使用して、デバッグ用に描画することもできます。おそらく、これらすべてを、OnPaintまたは他の適切なハンドラーで行うことができます(テキストボックスの出力が変更されるたびに)。

ハンドラーではMouseMove、マウスの位置を境界Rects に対してチェックして、アクティブな領域 (カーソル アイコンの設定など) にあることを識別し、その状態を認識して、OnClick必要なことを行う必要があります。

于 2012-12-20T23:38:00.437 に答える