LinkLabel.LinkCollection.Add 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
向集合添加链接。
重载
Add(LinkLabel+Link) |
将具有指定值的链接添加到集合中。 |
Add(Int32, Int32) |
向集合添加链接。 |
Add(Int32, Int32, Object) |
将链接以及要与该链接关联的信息添加到集合中。 |
Add(LinkLabel+Link)
将具有指定值的链接添加到集合中。
public:
int Add(System::Windows::Forms::LinkLabel::Link ^ value);
public int Add (System.Windows.Forms.LinkLabel.Link value);
member this.Add : System.Windows.Forms.LinkLabel.Link -> int
Public Function Add (value As LinkLabel.Link) As Integer
参数
- value
- LinkLabel.Link
表示要添加的链接的 LinkLabel.Link。
返回
从零开始的索引,由 value
参数指定的链接位于集合中的该索引处。
适用于
Add(Int32, Int32)
向集合添加链接。
public:
System::Windows::Forms::LinkLabel::Link ^ Add(int start, int length);
public System.Windows.Forms.LinkLabel.Link Add (int start, int length);
member this.Add : int * int -> System.Windows.Forms.LinkLabel.Link
Public Function Add (start As Integer, length As Integer) As LinkLabel.Link
参数
- start
- Int32
标签文本中所创建的链接的起始字符。
- length
- Int32
链接文本中将包括的起始字符之后的字符数。
返回
表示已创建并添加到集合中的链接的 LinkLabel.Link。
示例
下面的示例演示如何使用 LinkBehavior 枚举设置 LinkBehavior 属性。 它还演示如何设置 ActiveLinkColor、 TextLinkColor和 LinkVisited 属性以及将项添加到 LinkLabel.LinkCollection。 若要运行此示例,请将其粘贴到空白窗体中,并从窗体的构造函数或Load
方法调用 InitializeLinkLabel
。
// 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
注解
控件 LinkLabel 可以在控件的文本中显示多个链接。 方法 Add 使你能够将 控件中的 LinkLabel 文本转换为用户可以单击的链接,以执行类似于 Button 控件的任务。 此方法将创建的链接添加到 LinkLabel.LinkCollection 的 。LinkLabel 例如,如果要在标签文本“快速棕色狐狸”中设置单词“quick”,则调用此方法 start
时,参数设置为值 4 (4) , length
参数设置为 5 (5) 。 然后,“快速”一词将更改为链接,并将该链接添加到集合中。 如果要将信息与链接相关联,例如要显示的 URL 或在用户单击链接时打开的文件,请使用 其他版本的 Add 方法。
注意
两个链接不能共享相同的文本。 如果创建的链接使用另一个链接已使用的文本,则会引发异常。
适用于
Add(Int32, Int32, Object)
将链接以及要与该链接关联的信息添加到集合中。
public:
System::Windows::Forms::LinkLabel::Link ^ Add(int start, int length, System::Object ^ linkData);
public System.Windows.Forms.LinkLabel.Link Add (int start, int length, object linkData);
public System.Windows.Forms.LinkLabel.Link Add (int start, int length, object? linkData);
member this.Add : int * int * obj -> System.Windows.Forms.LinkLabel.Link
Public Function Add (start As Integer, length As Integer, linkData As Object) As LinkLabel.Link
参数
- start
- Int32
标签文本中所创建的链接的起始字符。
- length
- Int32
链接文本中将包括的起始字符之后的字符数。
- linkData
- Object
包含要与链接关联的信息的对象。
返回
表示已创建并添加到集合中的链接的 LinkLabel.Link。
示例
下面的代码示例创建一个 LinkLabel 控件,该控件显示链接,并在单击控件文本中定义的链接时在默认浏览器中显示 Microsoft 网站。 该示例定义一个初始化 LinkLabel 控件的方法,以及一个将处理 LinkClicked 控件事件的 方法。 事件的事件处理程序 LinkClicked 使用 LinkData 类的 LinkLabel.Link 属性来确定在默认浏览器中显示的 URL。 此示例要求它位于 类中 Form 。
// Create a new LinkLabel control.
private:
LinkLabel^ linkLabel1;
public:
void InitializeMyLinkLabel()
{
// Set the control to autosize based on the text content.
linkLabel1->AutoSize = true;
// Position and size the control on the form.
linkLabel1->Location = System::Drawing::Point( 8, 16 );
linkLabel1->Size = System::Drawing::Size( 135, 13 );
// Set the text to display in the label.
linkLabel1->Text = "Click here to get more info.";
// Create a new link using the Add method of the LinkCollection class.
linkLabel1->Links->Add( 6, 4, "www.microsoft.com" );
// Create an event handler for the LinkClicked event.
linkLabel1->LinkClicked += gcnew System::Windows::Forms::LinkLabelLinkClickedEventHandler( this, &Form1::linkLabel1_LinkClicked );
// Add the control to the form.
this->Controls->Add( linkLabel1 );
}
private:
void linkLabel1_LinkClicked( Object^ /*sender*/, System::Windows::Forms::LinkLabelLinkClickedEventArgs^ e )
{
// Determine which link was clicked within the LinkLabel.
linkLabel1->Links[ linkLabel1->Links->IndexOf( e->Link ) ]->Visited = true;
// Display the appropriate link based on the value of the LinkData property of the Link object.
System::Diagnostics::Process::Start( e->Link->LinkData->ToString() );
}
// Create a new LinkLabel control.
private LinkLabel linkLabel1 = new LinkLabel();
public void InitializeMyLinkLabel()
{
// Set the control to autosize based on the text content.
linkLabel1.AutoSize = true;
// Position and size the control on the form.
linkLabel1.Location = new System.Drawing.Point(8,16);
linkLabel1.Size = new System.Drawing.Size(135,13);
// Set the text to display in the label.
linkLabel1.Text = "Click here to get more info.";
// Create a new link using the Add method of the LinkCollection class.
linkLabel1.Links.Add(6,4,"www.microsoft.com");
// Create an event handler for the LinkClicked event.
linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked);
// Add the control to the form.
this.Controls.Add(linkLabel1);
}
private void linkLabel1_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
{
// Determine which link was clicked within the LinkLabel.
linkLabel1.Links[linkLabel1.Links.IndexOf(e.Link)].Visited = true;
// Display the appropriate link based on the value of the LinkData property of the Link object.
System.Diagnostics.Process.Start(e.Link.LinkData.ToString());
}
' Create a new LinkLabel control.
Private linkLabel1 As New LinkLabel()
Public Sub InitializeMyLinkLabel()
' Set the control to autosize based on the text content.
linkLabel1.AutoSize = True
' Position and size the control on the form.
linkLabel1.Location = New System.Drawing.Point(8, 16)
linkLabel1.Size = New System.Drawing.Size(135, 13)
' Set the text to display in the label.
linkLabel1.Text = "Click here to get more info."
' Create a new link using the Add method of the LinkCollection class.
linkLabel1.Links.Add(6, 4, "www.microsoft.com")
' Create an event handler for the LinkClicked event.
AddHandler linkLabel1.LinkClicked, AddressOf Me.linkLabel1_LinkClicked
' Add the control to the form.
Me.Controls.Add(linkLabel1)
End Sub
Private Sub linkLabel1_LinkClicked(sender As Object, e As System.Windows.Forms.LinkLabelLinkClickedEventArgs)
' Determine which link was clicked within the LinkLabel.
linkLabel1.Links(linkLabel1.Links.IndexOf(e.Link)).Visited = True
' Display the appropriate link based on the value of the LinkData property of the Link object.
System.Diagnostics.Process.Start(e.Link.LinkData.ToString())
End Sub
注解
控件 LinkLabel 可以在控件的文本中显示多个链接。 方法 Add 使你能够将 控件中的 LinkLabel 文本转换为用户可以单击的链接,以执行类似于 Button 控件的任务。 此方法将创建的链接添加到 LinkLabel.LinkCollection 的 。LinkLabel 例如,如果要在标签文本“快速棕色狐狸”中设置单词“quick”,则调用此方法 start
时,参数设置为值 4 (4) , length
参数设置为 5 (5) 。 然后,“快速”一词将更改为链接,并将该链接添加到集合中。 通过此版本的 Add 方法,可以提供可通过 参数与链接 linkData
关联的其他信息。 例如,可以将 传递给 String 参数, linkData
该参数包含单击链接时要显示的 URL。 然后,可以在控件事件的LinkLabel处理程序LinkClicked中使用此信息在浏览器中显示 URL。
注意
两个链接不能共享相同的文本。 如果创建的链接使用另一个链接已使用的文本,则会引发异常。