C1RichTextBox は、ハイパーリンクをサポートします。通常の HTML ドキュメントと同様に、この機能によってドキュメントの特定の部分をアクティブ化できます。ユーザーがハイパーリンクをクリックすると、アプリケーションは通知を受け取り、何らかのアクションを実行します。
次のコードに、ハイパーリンクを作成する方法を示します。
このコードは、最初に C1RichTextBox にテキストを割り当てます。次に、"hyperlink" という単語を選択し、MakeHyperlink メソッドを呼び出してハイパーリンクにします。パラメータは、新しいハイパーリンクの NavigateUri プロパティに割り当てられる URI です。
その後に、NavigationMode プロパティを設定して、ハイパーリンクの上にマウスポインタが置かれたときに C1RichTextBox がそれを処理する方法を決定します。デフォルトの動作は Microsoft Word と Visual Studio と同じで、[Ctrl]キーを押しながらハイパーリンクの上にマウスを移動すると、カーソルが手のアイコンに変化し、[Ctrl]キーを押しながらクリックすると、RequestNavigate イベントが発生します。これにより、ユーザーはハイパーリンクのテキストを通常のテキストと同様に編集できます。
RequestNavigate イベントハンドラは、ハイパーリンクナビゲーションを処理します。多くの場合、これには、新しいブラウザウィンドウを開き、別の URL に移動することが必要です。以下に例を示します。
ハイパーリンクのアクションは、URI ナビゲーションに限定されません。一連のカスタム URI アクションをアプリケーション内でコマンドとして使用するように定義することもできます。RequestNavigate ハンドラで、これらのカスタム URI を解析して処理します。たとえば、次のコードは、ハイパーリンクを使用してメッセージボックスを表示します。
MakeHyperlink コード内の変更点は、URI を作成する行だけです。RequestNavigate ハンドラは、URI メンバを使用してコマンドと引数を解析します。このテクニックを使用すると、たとえば埋め込みメニューを含むドキュメントを作成できます。
CreateHyperlink メソッドは、ドキュメント内の既存の部分をハイパーリンクに簡単迅速に変更する方法にすぎません。C1Hyperlink 要素を C1Document オブジェクトに追加して、ハイパーリンクを作成することもできます。これについては、後のセクションで説明します。