DOBON.NET DOBON.NETプログラミング掲示板過去ログ

VB6から変換したリストビューについて

環境/言語:[Windows XP/VB.NET/.NET Framework1.1]
分類:[.NET]

はじめまして。

VB6 SP6(Comctl32.ocx)からVB.NETにリストビューをアップグレードウィザードを使用しアップグレードをしたのですが
マウスのカーソルをリストビュー以外のコントロールから
リストビューに持っていくとリストビューのデータが自動選択されてしまいます。

Mscomctl32.ocxでHoverSelectionをFalseにしても同様の現象が発生します。

上記現象を回避する方法があるのでしたら、教えていただけないでしょうか。

よろしくお願いいたします。
こんにちは、じゃんぬねっと です。

■No9364に返信(sakuraさんの記事)
> マウスのカーソルをリストビュー以外のコントロールから
> リストビューに持っていくとリストビューのデータが自動選択されてしまいます。
> Mscomctl32.ocxでHoverSelectionをFalseにしても同様の現象が発生します。

こちらでも確認しました。

> 上記現象を回避する方法があるのでしたら、教えていただけないでしょうか。

今のままで回避する方法となると、Enter() で握り潰すことになると思いますが、
なにぶん、条件がとても複雑になり、バグの温床ともなるのでお勧めできないです。
そもそも COM に拘る理由は何でしょうか?
素直に、ListView コントロールを使うことで、より安全に解決できますよね?
こんばんわ。sakuraです。

じゃんぬねっとさん、調べていただきありがとうございます。

> 今のままで回避する方法となると、Enter() で握り潰すことになると思いますが、
> なにぶん、条件がとても複雑になり、バグの温床ともなるのでお勧めできないです。

EnterイベントやItemClickのイベント等で回避できないかと色々とためしたのですが、
じゃんぬねっとさんのおっしゃるとおりで条件がとても複雑になり、バグの温床になりますね。

COMを使用したのは現在VB6.0のシステムをVB.NETに移植しているのですが
日程の都合上、リストビューはCOMをそのまま使用した次第なんです。
ただ、じゃんぬねっとさんのおっしゃるとおり後々の事を考えても
素直に、ListViewコントロールを使う方がいいと思います。

作業が戻ってしまいますが頑張って組んでいきたいと思います。

じゃんぬねっとさん、ありがとうございます。
またわからないことがあったら教えてください。

DOBON.NET | プログラミング道 | プログラミング掲示板