2

Windows フォーム C# アプリケーションには、テキスト ボックスの最後の行としてリンクを表示し、その後に改行を付けない、多数の RichTextBox コントロールがあります。

問題は、物理的にリンクの下にあるすべての空白がクリック可能なリンクになることです。テキストの下の空白スペースは、通常、ウィンドウではその行の「一部」として機能することを理解しています。たとえば、この投稿のすぐ下にカーソルを置き、クリックしてドラッグすると、最後の行が選択されます。ただし、通常、これにはクリック可能なリンクは含まれません。この投稿のタイトルで試してみてください。タイトルを選択できますが、実際にタイトルの上に来るまで、カーソルはクリック可能な「手」になりませ

データを変更して常に末尾の改行を含めるか、ボックスのテキストを設定しているポイントを変更して常に改行を追加することで、これを回避できます。しかし、どちらも厄介なようです。RichTextBox のリンクを Web ブラウザのリンクのように動作させる方法はありませんか?

サンプルの WinForms アプリケーションを作成し、RichTextBox にドロップし、デザイナーを使用してテキストを「 http://www.google.com 」に設定することで、この動作を再現できます。リンクの下のどこにでも手のカーソルが表示されます。

Windows 7 / VS2010 / C# / .net Framework 4.0 を使用しています

アドバイスをありがとう。

4

2 に答える 2

3

リンクの下のどこにでも手のカーソルが表示されます。

ハンド カーソルではなく、リンクの下にテキスト カーソルが表示されるようにするには、改行を入れる必要があります。その設計による。

データを変更して常に末尾の改行を含めるか、ボックスのテキストを設定しているポイントを変更して常に改行を追加することで、これを回避できます。しかし、どちらも厄介なようです。RichTextBox のリンクを Web ブラウザのリンクのように動作させる方法はありませんか?

いいえ。後に改行を入れてください。または、RichTexbox DetectUrls プロパティを false に設定します。または、Hans が述べたように、Web ブラウザを使用します。または、サード パーティまたはオープン ソースの RichTextBox コントロールを使用します。

ハイパーリンクにカーソルを合わせたときに Cursor change イベントが発生するのは良いことですが、そうではありません:(

于 2013-06-22T01:08:06.500 に答える