commondialog控件只能选择文件,不能选择文件夹,用下面的代码可以选文件夹:
创新互联公司长期为上千多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为桃城企业提供专业的成都网站设计、成都网站建设,桃城网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。
Option Explicit
Private Type BrowseInfo
hWndOwner As Long
pIDLRoot As Long
pszDisplayName As Long
lpszTitle As Long
ulFlags As Long
lpfnCallback As Long
lParam As Long
iImage As Long
End Type
Const BIF_RETURNONLYFSDIRS = 1
Const MAX_PATH = 260
Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem As Long)
Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long
Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long
Public Function BrowseForFolder(Optional sTitle As String = "请选择文件夹") As String
Dim iNull As Integer, lpIDList As Long, lResult As Long
Dim sPath As String, udtBI As BrowseInfo
With udtBI
.hWndOwner = 0 ' Me.hWnd
.lpszTitle = lstrcat(sTitle, "")
.ulFlags = BIF_RETURNONLYFSDIRS
End With
lpIDList = SHBrowseForFolder(udtBI)
If lpIDList Then
sPath = String$(MAX_PATH, 0)
SHGetPathFromIDList lpIDList, sPath
CoTaskMemFree lpIDList
iNull = InStr(sPath, vbNullChar)
If iNull Then
sPath = Left$(sPath, iNull - 1)
End If
End If
BrowseForFolder = sPath
End Function
Private Sub Command1_Click()
MsgBox BrowseForFolder()
End Sub
.NET还是需要一定的处理工作的。本文将为大家介绍迁移的过程。向您推荐《VB.NET教程 - Visual Basic.NET开发指南》
在工作中,可能会碰到需要将VB编写的代码迁移到VB.NET的情况,有好多细节需要处理。好在互联网发展了这么多年,好多问题在互联网上都有答案,所以需要的时候搜索一下就能解决。
本人也碰到了从VB迁移到VB.NET的情况,现将碰到的问题及其解决方法或替代方法做一个总结,方便后来人。
首先,建议看一下这篇英文文章《Converting VB6 to VB.NET》,讲述了一般的迁移步骤。
其次,下载Microsoft Visual Basic Power Pack
你好,net framework 2.0内容能转移net framework4.7.2版本,具体步骤如下:
第一步,在已经打开的一个VB.NET项目界面中,点击“项目”;第二步,下拉菜单中,选择“属性”;第三步,弹出的界面中,继续点击“编译”;第四步,最下面有一个“高级编译选项”;第五步,这时候,新弹出的界面上有“目标Framework所有配置”,可以看到当前的Framework版本;第六步,点击下拉框,选择需要的Framework版本;第七步,这样,Framework2.0就成功转换成Framework4。
希望我的回答对你有帮助