LinkLabel.LinkCollection.IndexOf 方法

返回集合内指定链接的索引。

**命名空间:**System.Windows.Forms
**程序集:**System.Windows.Forms(在 system.windows.forms.dll 中)

语法

声明
Public Function IndexOf ( _
    link As Link _
) As Integer
用法
Dim instance As LinkCollection
Dim link As Link
Dim returnValue As Integer

returnValue = instance.IndexOf(link)
public int IndexOf (
    Link link
)
public:
int IndexOf (
    Link^ link
)
public int IndexOf (
    Link link
)
public function IndexOf (
    link : Link
) : int

参数

  • link
    一个 LinkLabel.Link,它代表要在集合中搜索的链接。

返回值

集合内链接所位于的从零开始的索引;否则为负一 (-1)。

备注

IndexOf 方法使您能够确定链接在集合中的位置。若要在调用此方法前确定某链接是否位于集合内,请使用 Contains 方法。

示例

下面的代码示例演示如何使用 LinkBehavior 枚举设置 LinkBehavior 属性。它还演示了如何设置 ActiveLinkColorLinkColorTextLinkVisited 属性,以及如何添加和访问 LinkLabel.LinkCollection 中的链接。若要运行此示例,请将代码粘贴到一个空白窗体中,然后从该窗体的构造函数或 Load 事件处理程序中调用 InitializeLinkLabel

' 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
// 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.
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.
private System.Windows.Forms.LinkLabel linkLabel1;

// Declare keywords array to identify links
private String keywords[];

private void InitializeLinkLabel()
{
    this.linkLabel1 = new System.Windows.Forms.LinkLabel();
    // Set the location, name and size.
    this.linkLabel1.set_Location(new System.Drawing.Point(10, 20));
    this.linkLabel1.set_Name("CompanyLinks");
    this.linkLabel1.set_Size(new System.Drawing.Size(104, 150));
    // Set the LinkBehavior property to show underline when mouse
    // hovers over the links.
    this.linkLabel1.set_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.set_Text(textString);
    // Set the color of the links to black, unless the mouse
    // is hovering over a link.
    this.linkLabel1.set_LinkColor(System.Drawing.Color.get_Black());
    this.linkLabel1.set_ActiveLinkColor(System.Drawing.Color.get_Blue());
    // Associate the event-handling method with the LinkClicked
    // event.
    this.linkLabel1.add_LinkClicked(new LinkLabelLinkClickedEventHandler(
        linkLabel1_LinkClicked));
    // Add links to the LinkCollection using starting index and
    // length of keywords.
    keywords = new String[] { "company", "research" };
    for (int iCtr = 0; iCtr < keywords.length; iCtr++) {
        String keyword = keywords[iCtr];
        this.linkLabel1.get_Links().Add(textString.IndexOf(keyword), 
            keyword.get_Length());
    }
    // Add the label to the form.
    this.get_Controls().Add(this.linkLabel1);
} //InitializeLinkLabel

private void linkLabel1_LinkClicked(Object sender, 
    LinkLabelLinkClickedEventArgs e)
{
    String url = "";
    // Determine which link was clicked and set the appropriate url.
    switch (linkLabel1.get_Links().IndexOf(e.get_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.get_Link().set_Visited(true);
    // Open Internet Explorer to the correct url.
    System.Diagnostics.Process.Start("IExplore.exe", url);
} //linkLabel1_LinkClicked

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

请参见

参考

LinkLabel.LinkCollection 类
LinkLabel.LinkCollection 成员
System.Windows.Forms 命名空间