다음을 통해 공유


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 매개 변수에 지정된 링크의 위치를 나타내는 컬렉션 내의 인덱스(0부터 시작)입니다.

적용 대상

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 방법을 보여 줍니다. 또한 , 및 LinkVisitedLinkColorText 속성을 설정하고 ActiveLinkColor에 항목을 추가하는 방법을 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"를 설정하려는 경우 매개 변수가 4(4)로 설정되고 length 매개 변수가 5(5)로 설정된 이 메서드 start 를 호출합니다. 그런 다음 "quick"이라는 단어가 링크로 변경되고 링크가 컬렉션에 추가됩니다. 표시할 URL 또는 사용자가 링크를 클릭할 때 열 파일과 같은 정보를 링크에 연결하려면 다른 버전의 메서드를 Add 사용합니다.

참고

두 개의 링크가 동일한 텍스트를 공유할 수 없습니다. 다른 링크에서 이미 사용되는 텍스트를 사용하는 링크를 만들면 예외가 throw됩니다.

적용 대상

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 클래스의 LinkLabel.Link 속성을 사용하여 LinkData 기본 브라우저에 표시할 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"를 설정하려는 경우 매개 변수가 4(4)로 설정되고 length 매개 변수가 5(5)로 설정된 이 메서드 start 를 호출합니다. 그런 다음 "quick"이라는 단어가 링크로 변경되고 링크가 컬렉션에 추가됩니다. 이 버전의 Add 메서드를 사용하면 매개 변수를 통해 linkData 링크와 연결할 수 있는 추가 정보를 제공할 수 있습니다. 예를 들어 링크를 클릭할 때 표시할 linkData URL이 포함된 매개 변수에 을 전달할 String 수 있습니다. 그런 다음, 컨트롤의 LinkLabel 이벤트에 대해 LinkClicked 처리기에서 이 정보를 사용하여 브라우저에 URL을 표시할 수 있습니다.

참고

두 개의 링크가 동일한 텍스트를 공유할 수 없습니다. 다른 링크에서 이미 사용 중인 텍스트를 사용하는 링크를 만들면 예외가 throw됩니다.

적용 대상