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.
Eigenschaft | Beschreibung |
---|
Action | Bestimmt, welche Aktion ausgeführt wird. |
Data | Enthält die Nutzdaten bzw. den Link für die auszuführende Aktion. |
Protocol | Enthält das hinterlegte Protokoll der Nutzdaten bzw. des Links für die auszuführende Aktion. |
ReturnValue | 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
|
|
TooltipText | Bestimmt den anzuzeigenden Tooltiptext, wenn mit der Maus über das Objekt in der Vorschau gefahren wird. |
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;
}
}
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