Microsoft.VisualBasic.Compatibility 中 DirListBox 和/或 FileListBox 的替换

问题描述 投票:0回答:2

我有一个 VB6 应用程序已迁移到 VB.net,并且正在尝试将框架版本升级到 4.5 - 它抱怨 Microsoft.VisualBasic.Compatibility dll 中的所有内容都已过时。我能够相当轻松地替换除 FileListBox 和 DirListBox 之外的所有内容 - 乏味,但我不必创建任何新控件。

这些控件有相近的替代品吗?有谁知道它们是否已与框架的其余部分一起开源?

.net .net-4.5 vb6-migration
2个回答
5
投票

您可以使用简单的ListBox控件并使用My.Computer.FileSystem将它们制作为旧的DriveListBox、DirectoryListBox和FileListBox。您可以使用类似以下内容

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    lstDriveList.DataSource = My.Computer.FileSystem.Drives
End Sub

Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lstDriveList.SelectedIndexChanged
    lstDirectoryList.DataSource = My.Computer.FileSystem.GetDirectories(lstDriveList.SelectedValue.ToString())
End Sub


Private Sub lstDirectoryList_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lstDirectoryList.SelectedIndexChanged
    lstFileList.DataSource = My.Computer.FileSystem.GetFiles(lstDirectoryList.SelectedValue.ToString())
End Sub

所有lst都只是普通的ListBox,您也可以使用ListView控件,类似的方式。


0
投票

不幸的是,你将不得不自己推出(就像 @kman 已经把你踢走了)。

在此 MSDN 论坛讨论中讨论了一些替代方案(互联网档案链接):VB.Net 相当于 VB6 代码,但已过时

有人建议回到 Framework 3.5(如果你不使用 4.5 的功能)来争取一些时间来编写新控件。

© www.soinside.com 2019 - 2024. All rights reserved.