- PR -

ドラッグ時のスクロール操作について

1
投稿者投稿内容
taa
常連さん
会議室デビュー日: 2005/08/29
投稿数: 44
投稿日時: 2006-02-16 04:22
こんにちは。VB.NETの初心者です。

VB.NETでリストビュー内でドラッグ操作を
行った時に、ドラッグ中にスクロールバーを移動
させたいのですが、どうにもうまくいきません。

具体的には、1行目のリストビューアイテムを
ドラッグし、100行目のリストビューアイテムへ
ドロップ操作を行いたいが、100行目のリストビュー
アイテムはスクロール操作をしないと表示されず、
ドラッグ中にスクロールバーを操作する事ができずに
困っています。
一応、GiveFeedBackイベントから何とかなりそうでは
あるのですが、やり方がわかりません。
どなたかご存知の方がいらっしゃいましたら
教えてください。

お願い致します。

<開発環境>
VS2003、VB.NET
minminnana
大ベテラン
会議室デビュー日: 2004/02/05
投稿数: 246
お住まい・勤務地: 盛岡
投稿日時: 2006-02-17 00:59
こんばんは

もっとよい方法がありそうなのですがレスが付かないようなので私が昔やった
方法を参考までに。
(だいぶ昔の事なので雰囲気だけ)

DragOverイベントでTimerを発生させ、マウス下のListViewItemに対して
EnsureVisibleを発行してあげればスクロールしてくれます。
ListVew端の中途半端に表示されてるItem上にマウスを置いてあげることで
そのItem全体が表示されるよう順次スクロールされるイメージです。
スクロール速度はTimer間隔で適当に調整。

ちょっと力技的ですね。
もしご参考になれば。
1

スキルアップ/キャリアアップ(JOB@IT)