combit List & Label 29 - .NET Hilfe
combit.Reporting Namespace / ListLabel Klasse / HandleHyperlinkAction Ereignis


In diesem Thema
    HandleHyperlinkAction Ereignis
    In diesem Thema

    Dieses Ereignis wird ausgelöst, wenn Sie mit der Maus über einen Link in der Vorschau fahren oder ihn anklicken.

    Syntax
    'Deklaration
     
    
    Public Event HandleHyperlinkAction As EventHandler(Of HyperLinkClickedEventArgs)
    public event EventHandler<HyperLinkClickedEventArgs> HandleHyperlinkAction
    public:
    event EventHandler<HyperLinkClickedEventArgs^>^ HandleHyperlinkAction
    Ereignisdaten

    Die Ereignisbehandlungsroutine erhält ein Argument vom Typ HyperLinkClickedEventArgs, der die auf dieses Ereignis bezogenen Daten enthält. Die folgenden Eigenschaften von HyperLinkClickedEventArgs stellen die für dieses Ereignis spezifischen Informationen bereit.

    EigenschaftBeschreibung

    Bestimmt, welche Aktion ausgeführt wird.

     

    Enthält die Nutzdaten bzw. den Link für die auszuführende Aktion.

     

    Enthält das hinterlegte Protokoll der Nutzdaten bzw. des Links für die auszuführende Aktion.

     

    Bestimmt, ob List & Label die eigene Standardausführung durchführen soll, oder ob keine weitere Verarbeitung durch List & Label durchgeführt werden soll, da eine eigene Implementierung/Aktion bereits durchgeführt wurde.

    Wert

    Bedeutung

    0

    Standardbehandlung von List & Label durchführen.

    1

    Keine weitere Standardbehandlung durch List & Label durchführen lassen.

    Voreinstellung

    0

     

    Bestimmt den anzuzeigenden Tooltiptext, wenn mit der Maus über das Objekt in der Vorschau gefahren wird.

     
    Beispiele

    Das folgende Beispiel zeigt, wie man das Ereignis für List & Label registriert und enthält eine beispielhafte Implementierung, die auf das eigene Protokoll myProtocol reagiert und entsprechend speziellen Tooltip-Text anzeigt und die Klick-Aktionen umsetzt.

    // Register the event for custom actions hovering a object with link property for the preview.
    LL.HandleHyperlinkAction += LL_HandleHyperlinkAction;
    
    // Event implementation for handling custom actions within the preview
    private void LL_HandleHyperlinkAction(object sender, HyperLinkClickedEventArgs e)
    {
        // Collect input data for further use
        string function = string.Empty, value = string.Empty;
        if (!string.IsNullOrEmpty(e.Data))
        {
            function = e.Data.Split('=')[0];
            value = e.Data.Split('=')[1];
        }
        switch (e.Action)
        {
            // Define the tooltip when hovering over an object
            // within the preview
            case LlHyperlinkAction.QueryTooltip:
            {
                // check if this is "my" business at all
                if (e.Protocol == "myProtocol")
                {
                    switch (function)
                    {
                        case "searchCustomer":
                        {
                            e.TooltipText = $"Searches the selected \n customer" +
                                $" '{value}' within the application.";
                        }
                        break;
                        case "searchOrder":
                        {
                            e.TooltipText = $"Searches the selected \n order" +
                                $" with ID '{value}' within the application.";
                        }
                        break;
                    }
                    // 1 = indicates handled by your own application-code
                    // 0 = use default handling from List & Label
                    e.ReturnValue = 1;
                }
            }
            break;
            // This is queried whenever the object with the link property is hovered
            case LlHyperlinkAction.RightButtonAllowed:
            {
                // 1 = not allowed
                // 2 = allowed
                e.ReturnValue = 1;
            }
            break;
            // Left mouse button was clicked
            case LlHyperlinkAction.LeftClicked:
            {
                // 1 = indicates handled by your own application-code
                // 0 = use default handling from List & Label
                int actionResult = 0;
                if (e.Protocol == "myProtocol")
                {
                    MessageBox.Show($"Object with custom Link property " +
                        $"was clicked with left mouse button and contains " +
                        $"this information:\n\n " +
                    $"protocol: {e.Protocol}\n " +
                    $"function: {function}\n " +
                    $"value: {value}");
                    actionResult = 1;
                }
                e.ReturnValue = actionResult;
            }
            break;
            // Right mouse button was clicked
            case LlHyperlinkAction.RightClicked:
            {
                // do anything with the right-click here, if allowed
                // by action LlHyperlinkAction.RightButtonAllowed
            }
            break;
        }
    }
    

     

    Anforderungen

    Plattformen: Windows 10 (Version 21H2 - 22H2), Windows 11 (21H2 - 23H2), Windows Server 2016 - 2022
    .NET: .NET Framework 4.8, .NET 6, .NET 7, .NET 8

    Siehe auch