vb選擇文件夾對話框
A. 怎樣在VB中彈出選擇文件夾的對話框
Private Sub Dir1_Change()
File1 = Dir1
End Sub
Private Sub Drive1_Change()
Dir1 = Drive1
End Sub
Drive1 , Dir1, File1 需要這三個控制項!
B. 能不能通過vb調出一個選擇文件的對話框
添加一個CommonDialog控制項,一個按鈕,一個文本框,在按鈕代碼如下:
Private
Sub
Command1_Click()
CommonDialog1.ShowOpen
Text1.Text
=
CommonDialog1.FileName
End
Sub
Private
Sub
Command2_Click()
Shell
Text1.Text,
vbNormalFocus
End
Sub
運行圖:
注意,一般只能打開exe格式的文件。
C. 如圖,在VB中,如何打開這樣的文件夾選擇對話框。用控制項,還是API,謝謝!
打開文件對話框,添加CommonDialog控制項就可以。
添加方法:【工程】-【部件】在部件對話框勾選:Microsoft Common Dialog Control 6.0 (SP3)
這樣控制項添加在工具箱中了,拖動到界面即可。
主要代碼:
CommonDialog1.InitDir = "c:/" '對話框初始目錄
CommonDialog1.Filter = "文本文件 (.txt)|*.txt|圖片(.gif)|*.gif" '設置打開文件類型
CommonDialog1.ShowOpen '打開文件對話框
'CommonDialog1.ShowSave '保存文件對話框
'CommonDialog1.ShowColor '打開顏色設置對話框 等等
D. VB6.0瀏覽文件夾對話框,怎麼做
瀏覽文件夾窗口需要使用WINDOWS
API函數:這個是我自己的程序當中的一段代碼:{
BROWSEINFO
bi;
ZeroMemory(&bi,
sizeof(BROWSEINFO));
bi.hwndOwner
=
m_hWnd;
bi.ulFlags
=
BIF_RETURNONLYFSDIRS;
LPITEMIDLIST
pidl
=
SHBrowseForFolder(&bi);
BOOL
bRet
=
FALSE;
TCHAR
szFolder[MAX_PATH*2];
szFolder[0]
=
_T('\0');
if
(pidl)
{
if
(SHGetPathFromIDList(pidl,
szFolder))
bRet
=
TRUE;
IMalloc
*pMalloc
=
NULL;
if
(SUCCEEDED(SHGetMalloc(&pMalloc))
&&
pMalloc)
{
pMalloc->Free(pidl);
pMalloc->Release();
}
}
UpdateData(1);
m_Path=szFolder;
UpdateData(0);
}這個代碼添加在BUTTON的ON事件函數中,目的是將文件夾路徑輸出到m_Path這個TEXTBOX控制項中。你略微改改名即可使用。
E. VB做一個文件夾對話框
在VB中顯示文件夾瀏覽對話框
方法有二
請在窗體上添加兩個命令按鈕,一個用API調用 ,另一個引用 Shell調用(引用Microsoft Shell Controls And Automation對象)
代碼如下:
Private Const BIF_RETURNONLYFSDIRS = 1 '從這里開始為API聲明
Private Const BIF_DONTGOBELOWDOMAIN = 2
Private Const MAX_PATH = 260
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
Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" _
(ByVal lpString1 As String, ByVal _
lpString2 As String) As Long
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
Dim a As New Shell 'Shell對象
Private Sub Command1_Click() '文件夾瀏覽一
Dim lpIDList As Long
Dim sBuffer As String
Dim szTitle As String
Dim tBrowseInfo As BrowseInfo
szTitle = "This is the title"
With tBrowseInfo
.hWndOwner = Me.hWnd
.lpszTitle = lstrcat(szTitle, "")
.ulFlags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN
End With
lpIDList = SHBrowseForFolder(tBrowseInfo)
If (lpIDList) Then
sBuffer = Space(MAX_PATH)
SHGetPathFromIDList lpIDList, sBuffer
sBuffer = Left(sBuffer, InStr(sBuffer, vbNullChar) - 1)
MsgBox sBuffer
End If
End Sub
Private Sub Command2_Click() '文件夾瀏覽二
Dim b As Folder
Set b = a.BrowseForFolder(0, "選擇文件夾", 0)
a.Open b
End Sub
F. vb怎樣操作控制「打開對話框」選擇文件
CommonDialog 控制項(「打開」、「另存為」對話框)
通過使用 CommonDialog 控制項的 ShowOpen 和 ShowSave
方法可顯示「打開」和「另存為」對話框。
兩個對話框均可用以指定驅動器,目錄,文件擴展名和文件名。除對話的標題不同外,另存為對話外觀上與打開對話相似。
在運行時,當用戶選擇一個文件「關閉」對話框時,FileName 屬性既為選定的文件名。
可以設置 Filter 屬性,這樣對話就只顯示某種文件類型,如文本文件。Flags
屬性可用來改變對話的元素,當諸如覆蓋文件之類的動作發生時,還可用來提示用戶。
CommonDialog
控制項(「打開」、「另存為」對話框)示例
下例顯示「打開」對話框然後在信息框中顯示所選的文件名:
Private Sub Command1_Click()
' 設置「CancelError」為 True
CommonDialog1.CancelError = True
On Error GoTo ErrHandler
' 設置標志
CommonDialog1.Flags = cdlOFNHideReadOnly
' 設置過濾器
CommonDialog1.Filter = "All Files (*.*)|*.*|Text Files" & _
"(*.txt)|*.txt|Batch Files (*.bat)|*.bat"
' 指定預設的過濾器
CommonDialog1.FilterIndex = 2
' 顯示「打開」對話框
CommonDialog1.ShowOpen
' 顯示選定文件的名字
MsgBox CommonDialog1.FileName
Exit Sub
ErrHandler:
' 用戶按了「取消」按鈕
Exit Sub
End Sub
G. VB.net怎麼彈出文件夾路徑選擇框
選擇文件夾在工具箱-對話框里選擇FolderBrowserDialog添加到設計器中
然後代碼寫在按鈕事件里
FolderBrowserDialog1.ShowDialog()
textbox1.text=FolderBrowserDialog1.SelectedPath
選擇文件在工具箱-對話框里選擇OpenFileDialog
把OpenFileDialog1.ShowDialog()
TextBox1.Text=OpenFileDialog1.FileName
寫到按鈕事件下
如圖
點擊按鈕會彈出通用對話框選擇好路徑後確定,編輯框里就會顯示選擇的路徑
H. VB中,點擊命令按鈕,怎麼彈出對話框,用來選取文件路徑
//選擇文件
OpenFileDialog ofd = new OpenFileDialog();
ofd.ShowDialog();
MessageBox.Show(ofd.FileName);
//選擇文件夾
FolderBrowserDialog fbd = new FolderBrowserDialog();
fbd.ShowDialog();
MessageBox.Show(fbd.SelectedPath);