Reports for WinForms
ユーザーイベントへのハイパーリンクを追加する
C1PrintDocument の使い方 > アンカーとハイパーリンク > ユーザーイベントへのハイパーリンクを追加する

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