tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルVB.NET2003での画面更新を止めたい
記事No7115
投稿日: 2008/03/03(Mon) 19:03
投稿者かおりん
よろしくお願い致します。
フォームにリストビューを貼り付けて一覧を100件位表示
させています。このとき一度リストビューの一覧を全クリア
して再度表示させた際にどうしても画面が一瞬チラついて
しまいます。
画面の更新を一旦止めたりというようなことは可能でしょうか?
アドバイスよろしくお願い致します。

[ツリー表示へ]
タイトルRe: VB.NET2003での画面更新を止めたい
記事No7117
投稿日: 2008/03/03(Mon) 19:48
投稿者ゆうき
ゆうきです。こんばんは。

ListViewは表示が変わるごとに、自動的に再描画しています。

> 画面の更新を一旦止めたりというようなことは可能でしょうか?

BeginUpdate、EndUpdateメソッドがあります。
BeginUpdateメソッドを実行した後は、ListViewは自動的に再描画しません。
EndUpdateメソッドを実行すれば、再描画するようになります。

===コード===
ListView1.BeginUpdate()

(アイテムをクリア)

ListView1.EndUpdate()
=========

これで、一応大丈夫だと思います。

P.S.
BeginUpdate、EndUpdateメソッドはListBoxでも有効です。
http://hanatyan.sakura.ne.jp/dotnet/list02.htm#no6

[ツリー表示へ]
タイトルRe^2: VB.NET2003での画面更新を止めたい
記事No7119
投稿日: 2008/03/03(Mon) 22:25
投稿者かおりん
早速のご回答ありがとうございました。
ほんと助かりました。

> ゆうきです。こんばんは。
>
> ListViewは表示が変わるごとに、自動的に再描画しています。
>
> > 画面の更新を一旦止めたりというようなことは可能でしょうか?
>
> BeginUpdate、EndUpdateメソッドがあります。
> BeginUpdateメソッドを実行した後は、ListViewは自動的に再描画しません。
> EndUpdateメソッドを実行すれば、再描画するようになります。
>
> ===コード===
> ListView1.BeginUpdate()
>
> (アイテムをクリア)
>
> ListView1.EndUpdate()
> =========
>
> これで、一応大丈夫だと思います。
>
> P.S.
> BeginUpdate、EndUpdateメソッドはListBoxでも有効です。
> http://hanatyan.sakura.ne.jp/dotnet/list02.htm#no6

[ツリー表示へ]