Top > プログラミング > .NET Tips> ListViewの列の幅を自動調節する

ListViewの列の幅を自動調節する」への評価、コメント

評価

良い / 悪い = 46 / 1 (「良い」の割合 = 0.979 , 人気度 = 1.637

評価する

コメント一覧


通常のコメント
Link 2015/05/14 (Thu) 07:14:33
ViewがDetails以外の場合を試してみました。
//サンプル開始
lvItems.BeginUpdate();
lvItems.View = View.Details;
lvItems.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
int intNameWidth = lvItems.Columns[0].Width;
lvItems.View = View.SmallIcon;
lvItems.Columns[0].Width = intNameWidth;
lvItems.EndUpdate();
// サンプル終了
上記でlvItemsがListViewです。
結果として、一旦Deteilにして自動調整し、その幅を記憶しておきます。
目的のViewに設定し、改めてWidthを設定するとうまくいくようです。
ちなみに、BeginUpdate()とEndUpdate()でくるんでいるのはチラつき除けのつもりです。ない方がいい場合もあるかもしれません。
また、サンプルはボタンなどをクリックした際に呼ばれるところでの記述ですが、
幅を親フォームのメンバー変数としておき、アイテムをListViewに追加した時点で保持しておき、Viewを切り替える処理で単に
// ダメだったサンプル開始
lvItems.View = View.SmallIcon;
lvItems.Columns[0].Width = m_intNameWidth;
// ダメだったサンプル終了
としただけでは、うまくいきませんでした。

評価の理由
K 2014/03/5 (Wed) 17:36:26
評価:良い
簡潔で分かり易かったです.

評価の理由
匿名 2011/09/16 (Fri) 09:18:05
評価:良い
ありがとうございます

評価の理由
ピノキオ 2010/07/30 (Fri) 17:14:15
評価:良い
助かった。

通常のコメント
MeRror 2008/07/30 (Wed) 14:25:56
ちょうど探していた内容でした。
ありがとうございます。

評価の理由
匿名 2007/07/6 (Fri) 09:48:40
評価:良い
HeaderSizeはヘッダしか見ないと思っていた

評価の理由
kyt 2007/03/20 (Tue) 13:06:26
評価:良い
非常に判りやすい説明と、適切なサンプルコード、サンプルイメージが記載されているため。

ありがとうございます。

評価の理由
ぱぱぱ猫 2005/12/14 (Wed) 09:35:29
評価:良い
ちょっとしたテクニックだけれども、なかなか紹介されているサイトがないので

評価の理由
rakuda 2005/07/3 (Sun) 18:55:19
評価:良い
知りませんでした。これは便利です。

評価の理由
gest 2005/02/22 (Tue) 21:44:29
評価:良い
TextWidthが無くなり、代わりの設定の仕方を考えていたので。

コメントの投稿

[説明]