人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

VB9, .NETFramework2.0 使用です。ListView で、列幅変更ができないようにしたくて、
ネットにあったコード↓でやってみたのですが、

Private Sub ListView_ColumnWidthChanging(ByVal sender As Object, ByVal e As System.Windows.Forms.ColumnWidthChangingEventArgs) Handles ListView.ColumnWidthChanging

e.NewWidth = Me.ListView.Columns(e.ColumnIndex).Width
e.Cancel = True

End Sub

これだけでは、列間にマウスカーソルを持っていったときに vSplit 形状になり、いまいちです。
なんとかカーソルの形状を変えない (あるいは、ColumnHeader 上では非表示にする) ようにする
方法をご存知の方がいらっしゃれば教えてください。
ListView の継承コントロールを作るしかないのかもしれませんが、もっと良い方法があれば...
よろしくお願いします。




●質問者: lph
●カテゴリ:コンピュータ
✍キーワード: .NET .new 2.0 AS object
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● tsukasa57
●100ポイント ベストアンサー

たぶん、次の記事が参考になります。言語は C# になっていますが、lph さんが行いたいことはまさしくこれだと思います。サンプルをダウンロードして試して見たところ、ColumnHeader 上でのカーソルは変化しませんでした。サンプルの内容は短く簡単なんですが、C++(というかWindows API)の知識が無いとちょっと難しいかもしれません。

http://www.codeproject.com/KB/list/myListViewNoSize.aspx

短いコードなので VB.NET に移植してもそれほど手間はかからないと思います。

# 質問の条件(VB.NET)からは外れる回答なため、コメント欄が開いていればそこへ回答を書いたんですが開いていないので...

◎質問者からの返答

ありがとうございます !!

VB でも動きました。起動時に運悪く、ColumnHeader 上でマウスが砂時計とかになってしまうと、そのまま戻らないところはなんとかがんばって実装します。(もし、tsukasa57 様が楽にやれるようでしたら教えてください ^^;)

今度からは英語のサイトも探すようにします。ほんとうにたすかりました。感謝です。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ