🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

解決済

1回答

4239閲覧

VB.NET ListViewで選択した列の内容を取得したい

matsutake

総合スコア34

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

0クリップ

投稿2019/12/04 00:51

お世話になります。

現在、VB.NETで開発をしております。
画面にはListViewを貼り付け、データを表示しておるのですが、
表示されたデータのある特定行内の各列をクリックしたら、そこのセル内のデータを取得できないかと考えております。

|列1   |列2    |列3     |列4
|日本  |東京   |大阪    |名古屋
|アメリカ|ワシントン|ニューヨーク|ラスベガス

というようなデータが表示されている場合、
「大阪」をクリックしても取得できるデータは「日本」となってしまいます。
それぞれの都市をクリックしたら、その都市名を取得するにはどうすればよいのでしょうか。
宜しくお願い致します。

VB.Net

1 Private Sub ListView1_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs) Handles ListView1.MouseDown 2 Me.ListView1.HoverSelection = True 3 4 Dim selection As ListViewItem = ListView1.GetItemAt(e.X, e.Y) 5 6 End Sub

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

HitTest メソッドを呼び、ListViewHitTestInfo の Location と SubItem を見てください。

VB

1Private Sub listView1_MouseDown(sender As Object, e As MouseEventArgs) Handles listView1.MouseDown 2 Dim ht As ListViewHitTestInfo = DirectCast(sender, ListView).HitTest(e.Location) 3 Select Case ht.Location 4 Case ListViewHitTestLocations.Label 5 Debug.Print("{0}", ht.SubItem.Text) 6 End Select 7End Sub

投稿2019/12/04 01:29

KOZ6.0

総合スコア2707

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

matsutake

2019/12/04 03:08

いつもありがとうございます。 ご提案頂きました内容で問題なくデータの取得ができました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問