次の方法で共有


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

戻り値

リンクがコレクション内に存在する場合はその項目の 0 から始まるインデックス番号。それ以外の場合は -1。

解説

IndexOf メソッドを使用すると、リンクがコレクション内にあるかどうかを確認できます。このメソッドを呼び出す前にリンクがコレクション内にあるかどうかを確認するには、Contains メソッドを使用します。

使用例

LinkBehavior 列挙体を使用して LinkBehavior プロパティを設定するコード例を次に示します。またこの例では、ActiveLinkColorLinkColorText、および LinkVisited の各プロパティを設定し、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 名前空間