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


HandleHyperlinkAction Ereignis

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)
 
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 8, .NET 9

Siehe auch