C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ListView


(過去ログ 2 を表示中)

[トピック内 18 記事 (1 - 18 表示)]  << 0 >>

■2341 / inTopicNo.1)  ListView
  
□投稿者/ YM 二等兵(1回)-(2006/01/23(Mon) 15:29:58)

分類:[VB.NET] 


分類:[VB.NET] 

ListViewでダブルクリックされた項目を取得したいのですが、
その方法が分かりません。
色々検索してみたのですが、見つけられずにいます。
どなたかご教授お願いします。

0
引用返信 編集キー/
■2341 / inTopicNo.2)  ListView
□投稿者/ YM 二等兵(1回)-(2006/01/23(Mon) 15:29:58)

分類:[VB.NET] 


分類:[VB.NET] 

ListViewでダブルクリックされた項目を取得したいのですが、
その方法が分かりません。
色々検索してみたのですが、見つけられずにいます。
どなたかご教授お願いします。

0
引用返信 編集キー/
■2342 / inTopicNo.3)  Re[1]: ListView
□投稿者/ 名無しぃシャープ 一等兵(32回)-(2006/01/23(Mon) 15:44:20)

分類:[VB.NET] 

No2341に返信(YMさんの記事)
> ListViewでダブルクリックされた項目を取得したいのですが、その方法が分かりません。
> 色々検索してみたのですが、見つけられずにいます。
> どなたかご教授お願いします。

どこまでやってみたかも書かないと。
いくらなんでもDoubleClickイベントのハンドラは作りましたよね?
そこから何がわからないですか?

ListViewItemの取得がわからないであれば、
ListViewのGetItemAtメソッドを調べてみてください。

0
引用返信 編集キー/
■2342 / inTopicNo.4)  Re[1]: ListView
□投稿者/ 名無しぃシャープ 一等兵(32回)-(2006/01/23(Mon) 15:44:20)

分類:[VB.NET] 

No2341に返信(YMさんの記事)
> ListViewでダブルクリックされた項目を取得したいのですが、その方法が分かりません。
> 色々検索してみたのですが、見つけられずにいます。
> どなたかご教授お願いします。

どこまでやってみたかも書かないと。
いくらなんでもDoubleClickイベントのハンドラは作りましたよね?
そこから何がわからないですか?

ListViewItemの取得がわからないであれば、
ListViewのGetItemAtメソッドを調べてみてください。

0
引用返信 編集キー/
■2343 / inTopicNo.5)  Re[2]: ListView
□投稿者/ YM 二等兵(2回)-(2006/01/23(Mon) 16:55:08)

分類:[VB.NET] 

No2342に返信(名無しぃシャープさんの記事)
> どこまでやってみたかも書かないと。
> いくらなんでもDoubleClickイベントのハンドラは作りましたよね?
> そこから何がわからないですか?
>
> ListViewItemの取得がわからないであれば、
> ListViewのGetItemAtメソッドを調べてみてください。

早速の返信、ありがとうございます。
すいません、説明不足でした。
DoubleClickイベントのハンドラは作りました。
最初はSelectedItemsのような取得方法を考えていたので行き詰っていました。
GetItemAtメソッドを調べてるのですが、
マウスの座標を取得して項目を取得するということですね。


0
引用返信 編集キー/
■2343 / inTopicNo.6)  Re[2]: ListView
□投稿者/ YM 二等兵(2回)-(2006/01/23(Mon) 16:55:08)

分類:[VB.NET] 

No2342に返信(名無しぃシャープさんの記事)
> どこまでやってみたかも書かないと。
> いくらなんでもDoubleClickイベントのハンドラは作りましたよね?
> そこから何がわからないですか?
>
> ListViewItemの取得がわからないであれば、
> ListViewのGetItemAtメソッドを調べてみてください。

早速の返信、ありがとうございます。
すいません、説明不足でした。
DoubleClickイベントのハンドラは作りました。
最初はSelectedItemsのような取得方法を考えていたので行き詰っていました。
GetItemAtメソッドを調べてるのですが、
マウスの座標を取得して項目を取得するということですね。


0
引用返信 編集キー/
■2345 / inTopicNo.7)  Re[3]: ListView
□投稿者/ 名無しぃシャープ 一等兵(33回)-(2006/01/23(Mon) 17:35:49)

分類:[VB.NET] 

No2343に返信(YMさんの記事)
> GetItemAtメソッドを調べてるのですが、
> マウスの座標を取得して項目を取得するということですね。

そうです!そこまで出来ればもう解決してるかな?

0
引用返信 編集キー/
■2345 / inTopicNo.8)  Re[3]: ListView
□投稿者/ 名無しぃシャープ 一等兵(33回)-(2006/01/23(Mon) 17:35:49)

分類:[VB.NET] 

No2343に返信(YMさんの記事)
> GetItemAtメソッドを調べてるのですが、
> マウスの座標を取得して項目を取得するということですね。

そうです!そこまで出来ればもう解決してるかな?

0
引用返信 編集キー/
■2346 / inTopicNo.9)  Re[4]: ListView
□投稿者/ YM 二等兵(4回)-(2006/01/23(Mon) 17:45:40)

分類:[VB.NET] 

解決できそうだと思ったのですが、また詰まってしまいました。

With ListView1
Dim lv As ListViewItem = .GetItemAt(.Cursor.Position.X,.Cursor.Position.Y)
End With

というとこまでは考えました。
デバッグで確認したところ、座標は正しく取得できてるようです。
しかし、ここからテキストを取得できません。

Dim txt as String = lv.text としたのですが、
エラーで弾かれました。

0
引用返信 編集キー/
■2346 / inTopicNo.10)  Re[4]: ListView
□投稿者/ YM 二等兵(4回)-(2006/01/23(Mon) 17:45:40)

分類:[VB.NET] 

解決できそうだと思ったのですが、また詰まってしまいました。

With ListView1
Dim lv As ListViewItem = .GetItemAt(.Cursor.Position.X,.Cursor.Position.Y)
End With

というとこまでは考えました。
デバッグで確認したところ、座標は正しく取得できてるようです。
しかし、ここからテキストを取得できません。

Dim txt as String = lv.text としたのですが、
エラーで弾かれました。

0
引用返信 編集キー/
■2347 / inTopicNo.11)  Re[5]: ListView
□投稿者/ まどか 軍曹(74回)-(2006/01/23(Mon) 18:06:29)

分類:[VB.NET] 

座標にはスクリーン座標とクライアント座標があります。
画面(ディスプレイ)上の座標とコントロール内部での座標です。
クライアント座標はそのコントロールの左上が(0,0)になります。

> With ListView1
> Dim lv As ListViewItem = .GetItemAt(.Cursor.Position.X,.Cursor.Position.Y)
> End With

GetItemAtメソッドとPositionプロパティのそれぞれがどの座標を指定するのかを調べてみましょう。

たぶん一般的には、ダブルクリックの開始アクション、つまりMouseDownで座標を保存して
DoubleClickでその座標を使用します。

0
引用返信 編集キー/
■2347 / inTopicNo.12)  Re[5]: ListView
□投稿者/ まどか 軍曹(74回)-(2006/01/23(Mon) 18:06:29)

分類:[VB.NET] 

座標にはスクリーン座標とクライアント座標があります。
画面(ディスプレイ)上の座標とコントロール内部での座標です。
クライアント座標はそのコントロールの左上が(0,0)になります。

> With ListView1
> Dim lv As ListViewItem = .GetItemAt(.Cursor.Position.X,.Cursor.Position.Y)
> End With

GetItemAtメソッドとPositionプロパティのそれぞれがどの座標を指定するのかを調べてみましょう。

たぶん一般的には、ダブルクリックの開始アクション、つまりMouseDownで座標を保存して
DoubleClickでその座標を使用します。

0
引用返信 編集キー/
■2348 / inTopicNo.13)  Re[6]: ListView
□投稿者/ まどか 軍曹(75回)-(2006/01/23(Mon) 18:08:04)

分類:[VB.NET] 

#追記

> たぶん一般的には、ダブルクリックの開始アクション、つまりMouseDownで座標を保存して

MouseDownイベントの引数も調べてください。

0
引用返信 編集キー/
■2348 / inTopicNo.14)  Re[6]: ListView
□投稿者/ まどか 軍曹(75回)-(2006/01/23(Mon) 18:08:04)

分類:[VB.NET] 

#追記

> たぶん一般的には、ダブルクリックの開始アクション、つまりMouseDownで座標を保存して

MouseDownイベントの引数も調べてください。

0
引用返信 編集キー/
■2353 / inTopicNo.15)  Re[7]: ListView
□投稿者/ YM 二等兵(5回)-(2006/01/24(Tue) 09:48:32)

分類:[VB.NET] 

解決することができました。
スクリーン座標から、ListViewのクライアント座標に変換する必要が
あったんですね。
名無しぃシャープさん、まどかさん、ありがとうございました。

0
引用返信 編集キー/
■2353 / inTopicNo.16)  Re[7]: ListView
□投稿者/ YM 二等兵(5回)-(2006/01/24(Tue) 09:48:32)

分類:[VB.NET] 

解決することができました。
スクリーン座標から、ListViewのクライアント座標に変換する必要が
あったんですね。
名無しぃシャープさん、まどかさん、ありがとうございました。

0
引用返信 編集キー/
■2354 / inTopicNo.17)  Re[8]: ListView
□投稿者/ YM 二等兵(6回)-(2006/01/24(Tue) 09:56:15)

分類:[VB.NET] 

コードも載せておきます。

Dim cPoint As Point = ListView1.PointToClient(Cursor.Position)
Dim lv As ListViewItem = ListView1.GetItemAt(cPoint.X, cPoint.Y)
Dim txt as String = lv.Text

解決済み
引用返信 編集キー/
■2354 / inTopicNo.18)  Re[8]: ListView
□投稿者/ YM 二等兵(6回)-(2006/01/24(Tue) 09:56:15)

分類:[VB.NET] 

コードも載せておきます。

Dim cPoint As Point = ListView1.PointToClient(Cursor.Position)
Dim lv As ListViewItem = ListView1.GetItemAt(cPoint.X, cPoint.Y)
Dim txt as String = lv.Text

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -