最後に、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 プロパティに割り当てられた文字列(この例では「ハイパーリンクのユーザーデータ」)を含むメッセージボックスが表示されます。