【问题标题】:How to add a Browse To File dialog to a VB.NET application如何将“浏览到文件”对话框添加到 VB.NET 应用程序
【发布时间】:2012-12-18 00:32:15
【问题描述】:

在 VB.NET Windows 窗体应用程序中,如何添加让某人单击按钮或图像并打开文件浏览器以浏览文件并将其路径分配给变量的功能,以便我可以将该文件复制到另一个文件具体路径?

【问题讨论】:

    标签: vb.net file-io


    【解决方案1】:

    你应该像这样使用 OpenFileDialog 类

    Dim fd As OpenFileDialog = New OpenFileDialog() 
    Dim strFileName As String
    
    fd.Title = "Open File Dialog"
    fd.InitialDirectory = "C:\"
    fd.Filter = "All files (*.*)|*.*|All files (*.*)|*.*"
    fd.FilterIndex = 2
    fd.RestoreDirectory = True
    
    If fd.ShowDialog() = DialogResult.OK Then
       strFileName = fd.FileName
    End If
    

    然后就可以使用 File 类了。

    【讨论】:

    • 谢谢! RestoreDirectory = True 有什么作用?
    • 如果您打开一个对话框并选择一个路径,那么您将取消该对话框。下次打开对话框时,如果 restoreDirectory 设置为 true,则会再次显示第一个选择的路径。有关详细信息,请查看msdn.microsoft.com/en-us/library/…
    • 晚了,但可能还想了解 Multiselect 属性,因为就目前而言,如果有人使用此代码块,如果多个文件是已选中。
    • OpenFileDialog 实现了 IDisposable,因此您应该在完成后将其丢弃。最简单的方法是使用 Using 关键字 Using fd As OpenFileDialog = New OpenFileDialog() ... End Using
    【解决方案2】:

    您正在寻找OpenFileDialog class

    例如:

    Sub SomeButton_Click(sender As Object, e As EventArgs) Handles SomeButton.Click
        Using dialog As New OpenFileDialog
            If dialog.ShowDialog() <> DialogResult.OK Then Return
            File.Copy(dialog.FileName, newPath)
        End Using
    End Sub
    

    【讨论】:

    • 我只是得到''OpenFileDialog'未定义'。我尝试了“Imports System.Windows.Forms”,但它似乎不存在。关于此的每个教程似乎都假设 OpenFileDialog 默认情况下应该可用,但它不适合我。在 Visual Studio 的 Nuget 数据包管理器中,我找到了“System.Windows.Forms.Ribbon35”和“System.Windows.Forms.Pictograms”,但不仅仅是“System.Windows.Forms”。我错过了什么?
    • 没关系。我在这里找到了我的问题的答案:stackoverflow.com/questions/9646684/…
    猜你喜欢
    • 2010-11-05
    • 1970-01-01
    • 2012-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多