通过


FileDialog.InitialDirectory 属性

定义

获取或设置文件对话框显示的初始目录。

public:
 property System::String ^ InitialDirectory { System::String ^ get(); void set(System::String ^ value); };
public string InitialDirectory { get; set; }
member this.InitialDirectory : string with get, set
Public Property InitialDirectory As String

属性值

文件对话框显示的初始目录。 默认值为空字符串(“)。

示例

下面的代码示例使用 OpenFileDialog 实现 FileDialog 并演示如何创建、设置属性以及显示对话框。 该示例使用该 InitialDirectory 属性设置在向用户显示对话框时的初始目录。 该示例需要一个窗体,其中包含一个 Button 放置在它的窗体以及 System.IO 添加到它的命名空间。

private:
   void button1_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      Stream^ myStream;
      OpenFileDialog^ openFileDialog1 = gcnew OpenFileDialog;

      openFileDialog1->InitialDirectory = "c:\\";
      openFileDialog1->Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
      openFileDialog1->FilterIndex = 2;
      openFileDialog1->RestoreDirectory = true;

      if ( openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK )
      {
         if ( (myStream = openFileDialog1->OpenFile()) != nullptr )
         {
            // Insert code to read the stream here.
            myStream->Close();
         }
      }
   }
var fileContent = string.Empty;
var filePath = string.Empty;

using (OpenFileDialog openFileDialog = new OpenFileDialog())
{
    openFileDialog.InitialDirectory = "c:\\";
    openFileDialog.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
    openFileDialog.FilterIndex = 2;
    openFileDialog.RestoreDirectory = true;

    if (openFileDialog.ShowDialog() == DialogResult.OK)
    {
        //Get the path of specified file
        filePath = openFileDialog.FileName;

        //Read the contents of the file into a stream
        var fileStream = openFileDialog.OpenFile();

        using (StreamReader reader = new StreamReader(fileStream))
        {
            fileContent = reader.ReadToEnd();
        }
    }
}

MessageBox.Show(fileContent, "File Content at path: " + filePath, MessageBoxButtons.OK);
Private Sub button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    Dim myStream As Stream = Nothing
    Dim openFileDialog1 As New OpenFileDialog()

    openFileDialog1.InitialDirectory = "c:\"
    openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
    openFileDialog1.FilterIndex = 2
    openFileDialog1.RestoreDirectory = True

    If openFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
        Try
            myStream = openFileDialog1.OpenFile()
            If (myStream IsNot Nothing) Then
                ' Insert code to read the stream here.
            End If
        Catch Ex As Exception
            MessageBox.Show("Cannot read file from disk. Original error: " & Ex.Message)
        Finally
            ' Check this again, since we need to make sure we didn't throw an exception on open.
            If (myStream IsNot Nothing) Then
                myStream.Close()
            End If
        End Try
    End If
End Sub

注解

InitialDirectory 属性通常使用以下源之一进行设置:

  • 以前在程序中使用的路径,可能保留自上一个目录或文件操作。

  • 从永久性源(例如应用程序设置、应用程序中的 Registry 字符串资源)读取的路径。

  • 标准 Windows 系统和用户路径,如 Program Files、MyDocuments、MyMusic 等(可以使用该方法 GetFolderPath 获取)

  • 与当前应用程序相关的路径,例如其启动目录(可以使用对象上的属性获取)。Application

有关创建动态路径的详细信息,请参阅 FileDialog 类概述。

在 Windows Vista 上,如果 InitialDirectory 设置为完整文件名而不是目录路径,则初始目录将默认为应用程序路径,或用户最后选择文件的目录。

适用于

另请参阅