【发布时间】:2016-08-04 15:12:54
【问题描述】:
所以我的 Windows 窗体应用程序出现了一些奇怪的问题。
我注意到,当显示某些表单时,它们会显示所有控件而不是文本的白框。
这里有一些images 的问题。
我最初拥有 Load 事件中的所有内容,然后移至显示的事件。它仍然有问题,所以我将实际工作部分移到了不同的方法中,并添加了一个委托来将新文件写入 checklistbox 控件,以防出现问题。
不幸的是,它仍然会发生,我很困惑。
这是我正在使用的代码:
Private Sub form_FileCleanup_Shown(sender As Object, e As EventArgs) Handles Me.Shown
frmMain.Hide()
Me.BringToFront()
DoWork()
End Sub
Private Sub DoWork()
For Each _file As KeyValuePair(Of String, FileInfoList.fileInfoS) In fl.FileRemoveList
Dim fi As FileInfoList.fileInfoS = _file.Value
UpdateFileListl(fi.FullName)
'cbxFileList.Items.Add(fi.FullName, False)
Next
lblStatusMessage.Text = ""
End Sub
Private Delegate Sub FileListUpdateDelegate(fileName As String)
Private Sub UpdateFileListl(fileName As String)
Try
If Me.cbxFileList.InvokeRequired Then
cbxFileList.Invoke(New FileListUpdateDelegate(AddressOf UpdateFileListl), fileName)
Else
cbxFileList.Items.Add(fileName, False)
cbxFileList.Update()
End If
Catch ex As Exception
errorLogs.Add(ex)
End Try
End Sub
【问题讨论】:
-
在stackoverflow中上传图片。
-
好像正忙着做其他事情,没时间画控件
-
可能你的
DoWork很费时间并且让 UI 变得忙碌。使用Async/Await 或使用BackgroundWorker。 -
我同意,但不应该发生其他任何事情,我已将所有内容移出 Load and Shown 事件。我刚刚注释掉了 DoWork,它仍然会发生。
-
好吧,你们让我开始思考,然后我回到主窗体,我明白了问题所在。它试图同时删除空文件夹。我评论了这一点,现在没有白框了。感谢您的想法:)
标签: .net vb.net winforms drawing controls