LinkLabel.LinkVisited Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets a value indicating whether a link should be displayed as though it were visited.
public:
property bool LinkVisited { bool get(); void set(bool value); };
public bool LinkVisited { get; set; }
member this.LinkVisited : bool with get, set
Public Property LinkVisited As Boolean
Property Value
true
if links should display as though they were visited; otherwise, false
. The default is false
.
Examples
The following example demonstrates setting the LinkBehavior property using the LinkBehavior enumeration. It also demonstrates setting the ActiveLinkColor, LinkColor and LinkVisited properties. To run this sample paste it in a blank form and call InitializeLinkLabel
from the form's constructor or Load
method.
// Declare the LinkLabel object.
internal:
System::Windows::Forms::LinkLabel^ LinkLabel1;
// Declare keywords array to identify links
array<String^>^keywords;
private:
void InitializeLinkLabel()
{
this->LinkLabel1 = gcnew System::Windows::Forms::LinkLabel;
this->LinkLabel1->Links->Clear();
// Set the location, name and size.
this->LinkLabel1->Location = System::Drawing::Point( 10, 20 );
this->LinkLabel1->Name = "CompanyLinks";
this->LinkLabel1->Size = System::Drawing::Size( 104, 150 );
// Set the LinkBehavior property to show underline when mouse
// hovers over the links.
this->LinkLabel1->LinkBehavior = System::Windows::Forms::LinkBehavior::HoverUnderline;
String^ textString = "For more information see our"
" company website or the research page at Contoso Ltd. ";
// Set the text property.
this->LinkLabel1->Text = textString;
// Set the color of the links to black, unless the mouse
// is hovering over a link.
this->LinkLabel1->LinkColor = System::Drawing::Color::Black;
this->LinkLabel1->ActiveLinkColor = System::Drawing::Color::Blue;
// Associate the event-handling method with the LinkClicked
// event.
this->LinkLabel1->LinkClicked += gcnew LinkLabelLinkClickedEventHandler( this, &Form1::LinkLabel1_LinkClicked );
// Add links to the LinkCollection using starting index and
// length of keywords.
array<String^>^temp0 = {"company","research"};
keywords = temp0;
System::Collections::IEnumerator^ myEnum = keywords->GetEnumerator();
while ( myEnum->MoveNext() )
{
String^ keyword = safe_cast<String^>(myEnum->Current);
this->LinkLabel1->Links->Add( textString->IndexOf( keyword ), keyword->Length );
}
// Add the label to the form.
this->Controls->Add( this->LinkLabel1 );
}
void LinkLabel1_LinkClicked( Object^ /*sender*/, LinkLabelLinkClickedEventArgs^ e )
{
String^ url = "";
// Determine which link was clicked and set the appropriate url.
switch ( LinkLabel1->Links->IndexOf( e->Link ) )
{
case 0:
url = "www.microsoft.com";
break;
case 1:
url = "www.contoso.com/research";
break;
}
// Set the visited property to True. This will change
// the color of the link.
e->Link->Visited = true;
// Open Internet Explorer to the correct url.
System::Diagnostics::Process::Start( "IExplore.exe", url );
}
// Declare the LinkLabel object.
internal System.Windows.Forms.LinkLabel LinkLabel1;
// Declare keywords array to identify links
string[] keywords;
private void InitializeLinkLabel()
{
this.LinkLabel1 = new System.Windows.Forms.LinkLabel();
this.LinkLabel1.Links.Clear();
// Set the location, name and size.
this.LinkLabel1.Location = new System.Drawing.Point(10, 20);
this.LinkLabel1.Name = "CompanyLinks";
this.LinkLabel1.Size = new System.Drawing.Size(104, 150);
// Set the LinkBehavior property to show underline when mouse
// hovers over the links.
this.LinkLabel1.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline;
string textString = "For more information see our" +
" company website or the research page at Contoso Ltd. ";
// Set the text property.
this.LinkLabel1.Text = textString;
// Set the color of the links to black, unless the mouse
// is hovering over a link.
this.LinkLabel1.LinkColor = System.Drawing.Color.Black;
this.LinkLabel1.ActiveLinkColor = System.Drawing.Color.Blue;
// Associate the event-handling method with the LinkClicked
// event.
this.LinkLabel1.LinkClicked +=
new LinkLabelLinkClickedEventHandler(LinkLabel1_LinkClicked);
// Add links to the LinkCollection using starting index and
// length of keywords.
keywords = new string[]{"company", "research"};
foreach ( string keyword in keywords )
{
this.LinkLabel1.Links.Add(textString.IndexOf(keyword), keyword.Length);
}
// Add the label to the form.
this.Controls.Add(this.LinkLabel1);
}
private void LinkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
string url = "";
// Determine which link was clicked and set the appropriate url.
switch(LinkLabel1.Links.IndexOf(e.Link))
{
case 0:
url = "www.microsoft.com";
break;
case 1:
url = "www.contoso.com/research";
break;
}
// Set the visited property to True. This will change
// the color of the link.
e.Link.Visited = true;
// Open Internet Explorer to the correct url.
System.Diagnostics.Process.Start("IExplore.exe", url);
}
' Declare the LinkLabel object.
Friend WithEvents LinkLabel1 As System.Windows.Forms.LinkLabel
' Declare keywords array to identify links
Dim keywords() As String
Private Sub InitializeLinkLabel()
Me.LinkLabel1 = New System.Windows.Forms.LinkLabel
Me.LinkLabel1.Links.Clear()
' Set the location, name and size.
Me.LinkLabel1.Location = New System.Drawing.Point(10, 20)
Me.LinkLabel1.Name = "CompanyLinks"
Me.LinkLabel1.Size = New System.Drawing.Size(104, 150)
' Set the LinkBehavior property to show underline when mouse
' hovers over the links.
Me.LinkLabel1.LinkBehavior = _
System.Windows.Forms.LinkBehavior.HoverUnderline
Dim textString As String = "For more information see our" & _
" company website or the research page at Contoso Ltd. "
' Set the text property.
Me.LinkLabel1.Text = textString
' Set the color of the links to black, unless the mouse
' is hovering over a link.
Me.LinkLabel1.LinkColor = System.Drawing.Color.Black
Me.LinkLabel1.ActiveLinkColor = System.Drawing.Color.Blue
' Add links to the LinkCollection using starting index and
' length of keywords.
keywords = New String() {"company", "research"}
Dim keyword As String
For Each keyword In keywords
Me.LinkLabel1.Links.Add(textString.IndexOf(keyword), keyword.Length)
Next
' Add the label to the form.
Me.Controls.Add(Me.LinkLabel1)
End Sub
Private Sub LinkLabel1_LinkClicked(ByVal sender As Object, _
ByVal e As LinkLabelLinkClickedEventArgs) _
Handles LinkLabel1.LinkClicked
Dim url As String
' Determine which link was clicked and set the appropriate url.
Select Case LinkLabel1.Links.IndexOf(e.Link)
Case 0
url = "www.microsoft.com"
Case 1
url = "www.contoso.com/research"
End Select
' Set the visited property to True. This will change
' the color of the link.
e.Link.Visited = True
' Open Internet Explorer to the correct url.
System.Diagnostics.Process.Start("IExplore.exe", url)
End Sub
Remarks
A LinkLabel control does not automatically denote that a link is a visited link. To display the link as a visited link, you can set the value of this property to true
in an event handler for the LinkClicked event of a LinkLabel. A visited link is displayed using the color specified in the VisitedLinkColor property of the LinkLabel control. Once the form containing the LinkLabel control is closed, the "all display" state associated with the link is deleted. In order to retain the display state of the link, you need to store the display state of the link in a registry setting associated with your application.
Note
This property only affects the first link defined in the LinkLabel control. If you have more than one link specified in the control, use the Visited property of the LinkLabel.Link class. You can access all the links defined in the LinkLabel by using the Links property.