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 。 例如,如果您想要在標籤文字 「The quick」 中設定 「quick」 這個字,您會呼叫這個方法 start
,並將 參數設定為 4 (4) 的值,並將 length
參數設定為 5 (5) 。 接著,「quick」 這個字會變更為連結,並將連結新增至集合。 如果您想要將資訊與連結產生關聯,例如要在使用者按一下連結時顯示的 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 。 例如,如果您想要在標籤文字 「The quick」 中設定 「quick」 這個字,您會呼叫這個方法 start
,並將 參數設定為 4 (4) 的值,並將 length
參數設定為 5 (5) 。 接著,「quick」 這個字會變更為連結,並將連結新增至集合。 這個版本的 Add 方法可讓您提供可透過 linkData
參數與連結相關聯的其他資訊。 例如,您可以傳遞 String 至 linkData
包含 URL 的參數,以在按一下連結時顯示。 然後,您可以在處理常式中使用此資訊,讓 LinkClicked 控制項的 LinkLabel 事件在瀏覽器中顯示 URL。
注意
兩個連結無法共用相同的文字。 如果您建立的連結使用另一個連結已使用的文字,則會擲回例外狀況。