我有一个已经迁移到VB.net的VB6应用程序,我正在尝试将框架版本升级到4.5 - 它抱怨Microsoft.VisualBasic.Compatibility dll中的所有内容都已过时。我能够相当容易地替换除FileListBox和DirListBox之外的所有东西 - 乏味但我不必创建任何新的控件。
这些控件是否有接近替代品?有谁知道他们是否已经与框架的其余部分一起开源?
答案 0 :(得分:3)
您可以使用简单的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都只是普通的ListBoxes,你也可以使用ListView控件,类似的方式。
答案 1 :(得分:0)
不幸的是你必须自己滚动(就像@kman已经踢掉了你)。
有人建议回到Framework 3.5(如果你没有使用4.5功能)花一些时间来编写新的控件