最後に、C1PreviewPaneのイベントを発生させてコードによって処理するためのハイパーリンクを追加します。それには、 C1LinkTargetUser を使用する必要があります。この概念を示す完全な例を次に示します。
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
Private Sub UserLinkSetup() ' ユーザーハイパーリンクを含むドキュメントを作成します Dim doc As New C1.C1Preview.C1PrintDocument Dim rt As New C1.C1Preview.RenderText("Click this to show message box...") Dim linkTarget As C1.C1Preview.C1LinkTarget = New C1.C1Preview.C1LinkTargetUser rt.Hyperlink = New C1.C1Preview.C1Hyperlink(linkTarget) rt.Hyperlink.UserData = "My hyperlnk user data" doc.Body.Children.Add(rt) doc.Generate() ' プレビューを作成します Dim preview As New C1.Win.C1Preview.C1PrintPreviewDialog() ' イベントハンドラを UserHyperlinkJump イベントにアタッチします AddHandler preview.PreviewPane.UserHyperlinkJump, New C1.Win.C1Preview.HyperlinkEventHandler(AddressOf Me.C1PreviewPane1_UserHyperlinkJump) ' ドキュメントをプレビューします preview.Document = doc preview.ShowDialog()End Sub Private Sub C1PreviewPane1_UserHyperlinkJump(ByVal sender As Object, ByVal e As C1.Win.C1Preview.HyperlinkEventArgs) Handles C1PreviewPane1.UserHyperlinkJump MessageBox.Show(e.Hyperlink.UserData.ToString()) End Sub |
C# コードの書き方
C# |
コードのコピー
|
---|---|
private void UserLinkSetup() { // ユーザーハイパーリンクを含むドキュメントを作成します C1PrintDocument doc = new C1PrintDocument(); RenderText rt = new RenderText("Click this to show message box..."); C1LinkTarget linkTarget = new C1LinkTargetUser(); rt.Hyperlink = new C1Hyperlink(linkTarget); rt.Hyperlink.UserData = "My hyperlnk user data"; doc.Body.Children.Add(rt); doc.Generate(); // プレビューを作成します C1PrintPreviewDialog preview = new C1PrintPreviewDialog(); //イベントハンドラを UserHyperlinkJump イベントにアタッチします preview.PreviewPane.UserHyperlinkJump += new HyperlinkEventHandler(PreviewPane_UserHyperlinkJump); // ドキュメントをプレビューします preview.Document = doc; preview.ShowDialog(); } private void PreviewPane_UserHyperlinkJump(object sender, HyperlinkEventArgs e) { MessageBox.Show(e.Hyperlink.UserData.ToString()); } |
この例では、ハイパーリンクがクリックされると、ハイパーリンクのUserData プロパティに割り当てられた文字列(この例では「ハイパーリンクのユーザーデータ」)を含むメッセージボックスが表示されます。