LinkLabel.LinkCollection.Add 方法

定義

將連結加入集合中。

多載

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 設定 屬性。 它也示範如何設定 ActiveLinkColorTextLinkColor 和 屬性,以及 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.LinkCollectionLinkLabel 。 例如,如果您想要在標籤文字 「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.LinkCollectionLinkLabel 。 例如,如果您想要在標籤文字 「The quick」 中設定 「quick」 這個字,您會呼叫這個方法 start ,並將 參數設定為 4 (4) 的值,並將 length 參數設定為 5 (5) 。 接著,「quick」 這個字會變更為連結,並將連結新增至集合。 這個版本的 Add 方法可讓您提供可透過 linkData 參數與連結相關聯的其他資訊。 例如,您可以傳遞 StringlinkData 包含 URL 的參數,以在按一下連結時顯示。 然後,您可以在處理常式中使用此資訊,讓 LinkClicked 控制項的 LinkLabel 事件在瀏覽器中顯示 URL。

注意

兩個連結無法共用相同的文字。 如果您建立的連結使用另一個連結已使用的文字,則會擲回例外狀況。

適用於