请问如何解决ListView闪烁的问题[分不多,路过的帮帮我吧]
请问如何解决ListView闪烁的问题:【测试代码如下】:
Private Sub SSTab1_Click(PreviousTab As Integer)
Dim i As Integer
For i = 1 To SSTab1.Tabs
Select Case SSTab1.Tab
Case i
ListView1.ColumnHeaders.Clear
ListView1.ColumnHeaders.Add , , SSTab1.Caption, 1800
Case 0
ListView1.ColumnHeaders.Clear
With ListView1
.ColumnHeaders.Clear
'加入列首
.ColumnHeaders.Add , , "联系人 ", 800
.ColumnHeaders.Add , , "决策级别 ", 1000
.ColumnHeaders.Add , , "部门 ", 800
.ColumnHeaders.Add , , "职务 ", 800
.ColumnHeaders.Add , , "办公电话 ", 1800
.ColumnHeaders.Add , , "传真 ", 1200
.ColumnHeaders.Add , , "电邮 ", 1200
.ColumnHeaders.Add , , "手机 ", 1200
.ColumnHeaders.Add , , "性别 ", 600
.ColumnHeaders.Add , , "籍贯 ", 600
.ColumnHeaders.Add , , "地址 ", 1800
.ColumnHeaders.Add , , "生日 ", 800
.ColumnHeaders.Add , , "家庭电话 ", 1200
.ColumnHeaders.Add , , "性格特点 ", 1200
.ColumnHeaders.Add , , "备注 ", 1800
End With
End Select
Next i
End Sub
奇怪的是为什么.add方法在显示的时候会出现闪烁?如何解决?
[解决办法]
每添加一次,它都会刷新一下,能不闪么?
用LockWindowUpdate(),先把它暂时停掉,等add完了,再恢复它
[解决办法]
帮顶
[解决办法]
'可以暂时不显示,全部添加后再显示
listview1.visible=false
add
...
listview1.visible=true
[解决办法]
阿扑
[解决办法]
LockWindowUpdate lv.hWnd
add .......
LockWindowUpdate 0
这才是正解
[解决办法]
我觉得 Visible = False 比 LockWindowUpdate 要好一点。一是要简单些,二是 LockWindowUpdate 期间如果有窗体拖动或改变大小就会失效。
[解决办法]
修改Visiable 在更新时,会把界面变的空空的.
[解决办法]
接分是王道!
