Como especificar se um hiperlink está sublinhado
O objeto Hyperlink é um elemento de fluxo de conteúdo em nível de linha que permite hospedar hiperlinks dentro do fluxo de conteúdo. Por padrão, Hyperlink usa um objeto TextDecoration para exibir um sublinhado. TextDecoration objetos podem exigir muito desempenho ao serem instanciados, especialmente se houver muitos objetos Hyperlink. Se você fizer uso extensivo de elementos Hyperlink, convém considerar mostrar um sublinhado somente ao disparar um evento, como o evento MouseEnter.
No exemplo a seguir, o sublinhado do link "Meu MSN" é dinâmico, ou seja, ele só aparece quando o evento MouseEnter é disparado.
Hyperlinks
Exemplo
O exemplo de marcação a seguir mostra um Hyperlink definido com e sem um sublinhado:
<!-- Hyperlink with default underline. -->
<Hyperlink NavigateUri="http://www.msn.com">
MSN Home
</Hyperlink>
<Run Text=" | " />
<!-- Hyperlink with no underline. -->
<Hyperlink Name="myHyperlink" TextDecorations="None"
MouseEnter="OnMouseEnter"
MouseLeave="OnMouseLeave"
NavigateUri="http://www.msn.com">
My MSN
</Hyperlink>
O exemplo de código a seguir mostra como criar um sublinhado para o Hyperlink no evento MouseEnter e removê-lo no evento MouseLeave.
// Display the underline on only the MouseEnter event.
private void OnMouseEnter(object sender, EventArgs e)
{
myHyperlink.TextDecorations = TextDecorations.Underline;
}
// Remove the underline on the MouseLeave event.
private void OnMouseLeave(object sender, EventArgs e)
{
myHyperlink.TextDecorations = null;
}
' Display the underline on only the MouseEnter event.
Private Overloads Sub OnMouseEnter(ByVal sender As Object, ByVal e As EventArgs)
myHyperlink.TextDecorations = TextDecorations.Underline
End Sub
' Remove the underline on the MouseLeave event.
Private Overloads Sub OnMouseLeave(ByVal sender As Object, ByVal e As EventArgs)
myHyperlink.TextDecorations = Nothing
End Sub
Consulte também
.NET Desktop feedback