列表框刷新 - Visual Studio VB

时间:2014-11-19 03:51:41

标签: vb.net

在第一个listProcess.items.add之后,listProcess列表框不会刷新。基本上,只需在复制目录时从另一个列表框中填充一个列表框。只是试图显示正在进行的副本的状态。这些刷新似乎都不起作用。这太简单了,难以理解我。提前谢谢。

While ix < listSaveFolders.Items.Count
        listProcess.Items.Add(listSaveFolders.Items.Item(ix))
        listprocess.refresh
        Me.Refresh()
            My.Computer.FileSystem.CopyDirectory(CStr(listSaveFolders.Items.Item(ix)),  bk_dir_top & get_folder_end(ix), True)
    End While

2 个答案:

答案 0 :(得分:0)

没有条件状态变化的While循环?

While ix < listSaveFolders.Items.Count
    listProcess.Items.Add(listSaveFolders.Items.Item(ix))
    'listprocess.Refresh()
    'Me.Refresh()
    My.Computer.FileSystem.CopyDirectory(CStr(listSaveFolders.Items.Item(ix)), bk_dir_top & get_folder_end(ix), True)

    ix = ix + 1 ' <- here !
    ' I've disabled the .Refresh() but you can put back one of them
    ' here if you want.
End While

编辑:恢复待处理的编辑。真的没有被唤醒。遗憾。

答案 1 :(得分:0)

您可以使用 Application.DoEvents 代替Me.RefreshlistProcess.Refresh,这会在您添加新项目后更新/刷新ListBox。

如果您正在寻找更多&#34;复杂的&#34;解决方案,请查看BackgroundWorkerthis question

此外,您还没有更新ix变量,从而创建了无限循环。