ListView.GetItemAt メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > ListView.GetItemAt メソッドの意味・解説 

ListView.GetItemAt メソッド

指定した位置にある項目を取得します

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文構文

Public Function GetItemAt ( _
    x As Integer, _
    y As Integer _
) As ListViewItem
Dim instance As ListView
Dim x As Integer
Dim y As Integer
Dim returnValue As ListViewItem

returnValue = instance.GetItemAt(x, y)
public ListViewItem GetItemAt (
    int x,
    int y
)
public:
ListViewItem^ GetItemAt (
    int x, 
    int y
)
public ListViewItem GetItemAt (
    int x, 
    int y
)
public function GetItemAt (
    x : int, 
    y : int
) : ListViewItem

パラメータ

x

項目を検索する位置x 座標 (クライアント座標)。

y

項目を検索する位置y 座標 (クライアント座標)。

戻り値
指定した位置にある項目を表す ListViewItem。指定した位置に項目がない場合メソッドnull 参照 (Visual Basic では Nothing) を返します

解説解説

GetItemAt メソッド使用すると、ListView コントロールクライアント領域内の特定の位置にある項目を確認できますユーザーサブ項目をクリックまたは右クリックし (View プロパティView.Details設定されている場合)、さらにユーザーマウスクリックした時点マウス位置座標基づいてクリックされたサブ項目を所有している項目を確認するときに、このメソッド使用します

メモメモ

FullRowSelect プロパティ値が false場合、このメソッドは、指定され位置親項目領域内にある場合にだけ項目を返します (親項目は、コントロール詳細モードになっているときに、最初の列に表示されます)。サブ項目の領域内の位置指定され場合に、このメソッド使用して項目を取得するには、FullRowSelect プロパティtrue設定する必要がありますまた、HitTest メソッド使用して特定の位置にある項目に関する詳細情報取得することもできます

ListView 内でドラッグ アンド ドロップによって項目の位置変更するには、GetItemAt メソッドではなく、ListViewInsertionMark.NearestIndex メソッド使用することもできますListViewInsertionMark.NearestIndex メソッドは、マウス ポインタ置かれている位置に関係なく、最も近い項目を検索します一方GetItemAt メソッドは、指定され位置に項目がない場合null 参照 (Visual Basic では Nothing) を返します

メモメモ

ListViewInsertionMark クラスは、Windows XP および Windows Server 2003アプリケーションから Application.EnableVisualStyles メソッド呼び出す場合にだけサポートされています。

使用例使用例

PictureBox コントロールListView コントロール使用方法を示すコード例次に示しますPictureBox は、PictureBox.BorderStyle プロパティ (BorderStyle 列挙体を使用) と PictureBox.SizeMode プロパティ (PictureBoxSizeMode 列挙体を使用) を設定することにより初期化されますListView には、Samples ディレクトリからイメージ読み込まれます。ListView コントロールの MouseDown イベント処理して項目が選択されているかどうか判断する場合は、GetItemAt メソッド使用します。項目が選択されている場合、その項目は、イベント ハンドラが PictureBox.Image プロパティ設定することにより表示されます。この例では、C:\documents and Settings\All Users\Documents\My Pictures\Sample Pictures ディレクトリJPG ファイル存在している必要があります。この例を実行するには、コードフォーム貼り付けてフォームコンストラクタまたは Load メソッドInitializePictureBox メソッドおよび PopulateListView メソッド呼び出します。必ずすべてのイベントイベント ハンドラ関連付けるようにしてください

Private Sub PopulateListView()
    ListView1.Width = 270
    ListView1.Location = New System.Drawing.Point(10, 10)

    ' Declare and construct the ColumnHeader objects.
    Dim header1, header2 As ColumnHeader
    header1 = New ColumnHeader
    header2 = New ColumnHeader

    ' Set the text, alignment and width for each column header.
    header1.Text = "File name"
    header1.TextAlign = HorizontalAlignment.Left
    header1.Width = 70

    header2.TextAlign = HorizontalAlignment.Left
    header2.Text = "Location"
    header2.Width = 200

    ' Add the headers to the ListView control.
    ListView1.Columns.Add(header1)
    ListView1.Columns.Add(header2)

    ' Populate the ListView.Items property.
    ' Set the directory to the sample picture directory.
    Dim dirInfo As New System.IO.DirectoryInfo
 _
        ("C:\Documents and Settings\All Users" _
        & "\Documents\My Pictures\Sample Pictures")
    Dim file As System.IO.FileInfo

    ' Get the .jpg files from the directory
    Dim files() As System.io.FileInfo = dirInfo.GetFiles("*.jpg")

    ' Add each file name and full name including path
    ' to the ListView.
    If Not (files Is Nothing)
 Then
        For Each file In
 files
            Dim item As New
 ListViewItem(file.Name)
            item.SubItems.Add(file.FullName)
            ListView1.Items.Add(item)
        Next
    End If
End Sub

Private Sub InitializePictureBox()
    PictureBox1 = New PictureBox

    ' Set the location and size of the PictureBox control.
    Me.PictureBox1.Location = New System.Drawing.Point(70,
 120)
    Me.PictureBox1.Size = New System.Drawing.Size(140,
 140)
    Me.PictureBox1.TabStop = False

    ' Set the SizeMode property to the StretchImage value.  This
    ' will shrink or enlarge the image as needed to fit into
    ' the PictureBox.
    Me.PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage

    ' Set the border style to a three-dimensional border.
    Me.PictureBox1.BorderStyle = BorderStyle.Fixed3D

    ' Add the PictureBox to the form.
    Me.Controls.Add(Me.PictureBox1)

End Sub


Private Sub ListView1_MouseDown(ByVal
 sender As Object, _
    ByVal e As MouseEventArgs) Handles
 ListView1.MouseDown

    Dim selection As ListViewItem = ListView1.GetItemAt(e.X,
 e.Y)

    ' If the user selects an item in the ListView, display
    ' the image in the PictureBox.
    If Not (selection Is
 Nothing) Then
        PictureBox1.Image = System.Drawing.Image.FromFile _
            (selection.SubItems(1).Text)
    End If


End Sub
private void PopulateListView()
{
    ListView1.Width = 270;
    ListView1.Location = new System.Drawing.Point(10, 10);

    // Declare and construct the ColumnHeader objects.
    ColumnHeader header1, header2;
    header1 = new ColumnHeader();
    header2 = new ColumnHeader();

    // Set the text, alignment and width for each column header.
    header1.Text = "File name";
    header1.TextAlign = HorizontalAlignment.Left;
    header1.Width = 70;

    header2.TextAlign = HorizontalAlignment.Left;
    header2.Text = "Location";
    header2.Width = 200;

    // Add the headers to the ListView control.
    ListView1.Columns.Add(header1);
    ListView1.Columns.Add(header2);

    // Populate the ListView.Items property.
    // Set the directory to the sample picture directory.
    System.IO.DirectoryInfo dirInfo = 
        new System.IO.DirectoryInfo(
        "C:\\Documents and Settings\\All Users" +
        "\\Documents\\My Pictures\\Sample Pictures");
    

    // Get the .jpg files from the directory
    System.IO.FileInfo[] files = dirInfo.GetFiles("*.jpg");

    // Add each file name and full name including path
    // to the ListView.
    if (files != null)
    {
        foreach ( System.IO.FileInfo file in
 files )
        {
            ListViewItem item = new ListViewItem(file.Name);
            item.SubItems.Add(file.FullName);
            ListView1.Items.Add(item);
        }
    }
}

private void InitializePictureBox()
{
    PictureBox1 = new PictureBox();

    // Set the location and size of the PictureBox control.
    this.PictureBox1.Location = new System.Drawing.Point(70,
 120);
    this.PictureBox1.Size = new System.Drawing.Size(140,
 140);
    this.PictureBox1.TabStop = false;

    // Set the SizeMode property to the StretchImage value.  This
    // will shrink or enlarge the image as needed to fit into
    // the PictureBox.
    this.PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;

    // Set the border style to a three-dimensional border.
    this.PictureBox1.BorderStyle = BorderStyle.Fixed3D;

    // Add the PictureBox to the form.
    this.Controls.Add(this.PictureBox1);

}


private void ListView1_MouseDown(object sender,
 MouseEventArgs e)
{

    ListViewItem selection = ListView1.GetItemAt(e.X, e.Y);

    // If the user selects an item in the ListView, display
    // the image in the PictureBox.
    if (selection != null)
    {
        PictureBox1.Image = System.Drawing.Image.FromFile(
            selection.SubItems[1].Text);
    }
}
private:
   void PopulateListView()
   {
      ListView1->Width = 270;
      ListView1->Location = System::Drawing::Point( 10, 10 );
      
      // Declare and construct the ColumnHeader objects.
      ColumnHeader^ header1;
      ColumnHeader^ header2;
      header1 = gcnew ColumnHeader;
      header2 = gcnew ColumnHeader;
      
      // Set the text, alignment and width for each column header.
      header1->Text = "File name";
      header1->TextAlign = HorizontalAlignment::Left;
      header1->Width = 70;
      header2->TextAlign = HorizontalAlignment::Left;
      header2->Text = "Location";
      header2->Width = 200;
      
      // Add the headers to the ListView control.
      ListView1->Columns->Add( header1 );
      ListView1->Columns->Add( header2 );
      
      // Populate the ListView.Items property.
      // Set the directory to the sample picture directory.
      System::IO::DirectoryInfo^ dirInfo = gcnew System::IO::DirectoryInfo( "C:\\Documents
 and Settings\\All Users"
      "\\Documents\\My Pictures\\Sample Pictures" );
      
      // Get the .jpg files from the directory
      array<System::IO::FileInfo^>^files = dirInfo->GetFiles( "*.jpg"
 );
      
      // Add each file name and full name including path
      // to the ListView.
      if ( files != nullptr )
      {
         System::Collections::IEnumerator^ myEnum = files->GetEnumerator();
         while ( myEnum->MoveNext() )
         {
            System::IO::FileInfo^ file = safe_cast<System::IO::FileInfo^>(myEnum->Current);
            ListViewItem^ item = gcnew ListViewItem( file->Name );
            item->SubItems->Add( file->FullName );
            ListView1->Items->Add( item );
         }
      }
   }

   void InitializePictureBox()
   {
      PictureBox1 = gcnew PictureBox;
      
      // Set the location and size of the PictureBox control.
      this->PictureBox1->Location = System::Drawing::Point(
 70, 120 );
      this->PictureBox1->Size = System::Drawing::Size( 140,
 140 );
      this->PictureBox1->TabStop = false;
      
      // Set the SizeMode property to the StretchImage value.  This
      // will shrink or enlarge the image as needed to fit into
      // the PictureBox.
      this->PictureBox1->SizeMode = PictureBoxSizeMode::StretchImage;
      
      // Set the border style to a three-dimensional border.
      this->PictureBox1->BorderStyle = BorderStyle::Fixed3D;
      
      // Add the PictureBox to the form.
      this->Controls->Add( this->PictureBox1
 );
   }

   void ListView1_MouseDown( Object^ /*sender*/, MouseEventArgs^
 e )
   {
      ListViewItem^ selection = ListView1->GetItemAt( e->X, e->Y );
      
      // If the user selects an item in the ListView, display
      // the image in the PictureBox.
      if ( selection != nullptr )
      {
         PictureBox1->Image = System::Drawing::Image::FromFile( selection->SubItems[
 1 ]->Text );
      }
   }
private void PopulateListView()
{
    listView1.set_Width(270);
    listView1.set_Location(new System.Drawing.Point(10, 10));
    // Declare and construct the ColumnHeader objects.
    ColumnHeader header1, header2;
    header1 = new ColumnHeader();
    header2 = new ColumnHeader();
    // Set the text, alignment and width for each column header.
    header1.set_Text("File name");
    header1.set_TextAlign(HorizontalAlignment.Left);
    header1.set_Width(70);

    header2.set_TextAlign(HorizontalAlignment.Left);
    header2.set_Text("Location");
    header2.set_Width(200);
    // Add the headers to the ListView control.
    listView1.get_Columns().Add(header1);
    listView1.get_Columns().Add(header2);
    // Populate the ListView.Items property.
    // Set the directory to the sample picture directory.
    System.IO.DirectoryInfo dirInfo =
        new System.IO.DirectoryInfo("C:\\Documents and Settings\\All
 Users"
        + "\\Documents\\My Pictures\\Sample Pictures");
    // Get the.jpg files from the directory
    System.IO.FileInfo files[] = dirInfo.GetFiles("*.jpg");
    // Add each file name and full name including path
    // to the ListView.
    if (files != null) {
        for (int iCtr = 0; iCtr < files.length;
 iCtr++) {
            System.IO.FileInfo file = files[iCtr];
            ListViewItem item = new ListViewItem(file.get_Name());
            item.get_SubItems().Add(file.get_FullName());
            listView1.get_Items().Add(item);
        }
    }
} //PopulateListView

private void InitializePictureBox()
{
    pictureBox1 = new PictureBox();
    // Set the location and size of the PictureBox control.
    this.pictureBox1.set_Location(new System.Drawing.Point(70,
 120));
    this.pictureBox1.set_Size(new System.Drawing.Size(140,
 140));
    this.pictureBox1.set_TabStop(false);
    // Set the SizeMode property to the StretchImage value.  This
    // will shrink or enlarge the image as needed to fit into
    // the PictureBox.
    this.pictureBox1.set_SizeMode(PictureBoxSizeMode.StretchImage);
    // Set the border style to a three-dimensional border.
    this.pictureBox1.set_BorderStyle(BorderStyle.Fixed3D);
    // Add the PictureBox to the form.
    this.get_Controls().Add(this.pictureBox1);
} //InitializePictureBox

private void listView1_MouseDown(Object sender,
 MouseEventArgs e)
{
    ListViewItem selection = listView1.GetItemAt(e.get_X(), e.get_Y());
    // If the user selects an item in the ListView, display
    // the image in the PictureBox.
    if (selection != null) {
        pictureBox1.set_Image(System.Drawing.Image.FromFile(
            selection.get_SubItems().get_Item(1).get_Text()));
    }
} //listView1_MouseDown
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ListView クラス
ListView メンバ
System.Windows.Forms 名前空間
PointToScreen
PointToClient
ListViewInsertionMark
ListViewItem
Application.EnableVisualStyles
その他の技術情報
Windows フォーム座標



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ListView.GetItemAt メソッド」の関連用語

ListView.GetItemAt メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ListView.GetItemAt メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS