.net
3.5 SP1でlistviewを使用したプログラムを作成したのですが、稀に以下のような不正な描画がされます。
1.listviewを生成し、各行のアイテムを追加します
→この時、各行の文字のフォントを太字に設定します(情報の未読を意味します)
2.lisitviewのある行をダブルクリックして別ウィンドウ画面で詳細表示を行います
→この時、選択した行の文字のフォントを細字に設定しなおします(情報の既読を意味します)
選択した行の文字のフォントの変更は正しく反映されます(細字で描画されます)
※しかし、この時に選択した行の1行下の行において、太字の文字と細字の文字の両方が折り重なるようにして描画される不正描画が行われます※
3.listviewの不正に描画された行は再描画(listviewが乗っているウィンドウを最小化→元に戻す等を行う)されることにより、正常な文字(太字のみ)が描画されます
上記のような現象が実行環境で稀に発生します。再現する条件は不明です(稀にしか発生しないため)。
listviewの描画は行単位では制御していないため、ある特定の1行の描画が不正になる理由が不明です。
このような現象の原因は何かわかりますでしょうか?
●その他の環境等
・listviewでitemの追加、変更、太字/細字の変更時は、BeginUpdate/EndUpdateでlistviewの描画を一時停止しています
・選択した行より上の行、および、選択した行より2行下以降の行はいまのところ正常に描画されます
●開発環境
Microsoft Visual Studio 2008
Version 9.0.30729.1 SP
Microsoft .NET Framework
Version 3.5 SP1
インストールされている Edition: Professional
Microsoft Visual C# 2008
91984-270-6419753-60653
●実行環境
Windows 7(64bit)