2017-10-22 61 views
-1

當我手動選擇文件夾時,通過FolderBrowserDialog,我需要將路徑替換爲下面的代碼。如何使用所選文件夾的變量?

其中「%ProgramFiles(x86)%\ MyApp」必須替換爲所選文件夾+文件名的變量。

因此,選擇文件夾時,應顯示「label1」中的文件大小「testFile.txt」(將有兩個或更多此類文件)。

private void button1_Click(object sender, EventArgs e) 
    { 
     FolderBrowserDialog folderBrowser = new FolderBrowserDialog(); 
     DialogResult result = folderBrowser.ShowDialog(); 
     if (result == DialogResult.OK) 
     { 
      // Determine the size of the file in KB (dividing the number of bytes by 1024) 
      FileInfo fs1 = new FileInfo(Environment.ExpandEnvironmentVariables("%ProgramFiles(x86)%\\MyApp\\testFile.txt")); 
      long FileSize1 = fs1.Length/1024; 
      label1.Text = "testFile.txt (" + Convert.ToString(FileSize1) + " KB)"; 
      if (FileSize1 > 180 & FileSize1 < 186) // If the file is larger and smaller than the specified sizes 
      { 
       label1.ForeColor = Color.Green; 
      } 
      else 
      { 
       label1.ForeColor = Color.Red; 
      } 
     } 
    } 

決策,編輯:

  FileInfo fs1 = new FileInfo(folderBrowser.SelectedPath + "\\testFile.txt"); 

  FileInfo fs1 = new FileInfo(Path.Combine(folderBrowser.SelectedPath, "testFile.txt")); 

回答

1

的官方文檔具有專門用於這一個項目:How to: Choose Folders with the Windows Forms FolderBrowserDialog Component

要選擇具有的FolderBrowserDialog文件夾組件

  1. 在一個過程中,檢查的FolderBrowserDialog組件的DialogResult屬性,看看該對話框如何關閉,並得到的FolderBrowserDialog組件的SelectedPath屬性 值。
  2. 如果您需要設置將出現在對話框的樹視圖中的最頂層文件夾,請設置RootFolder屬性,該屬性需要 爲Environment.SpecialFolder枚舉的成員。
  3. 另外,您可以設置Description屬性,該屬性指定出現在 文件夾瀏覽器樹形視圖頂部的文本字符串。

在下面的例子中,的FolderBrowserDialog組件用於 選擇一個文件夾,類似的,當你在Visual Studio中 一個項目時,會提示選擇一個文件夾,將其保存到。在這個例子中, 文件夾名稱然後顯示在窗體上的TextBox控件中。它是 是一個好主意,將該位置放置在可編輯區域,如 TextBox控件,以便用戶可以編輯其選擇以防 錯誤或其他問題。此示例假定一個帶有 FolderBrowserDialog組件和TextBox控件的窗體。

public void ChooseFolder() 
{ 
    if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) 
    { 
     textBox1.Text = folderBrowserDialog1.SelectedPath; 
    } 
} 

根據這個例子中,你可以得到一個字符串使用folderBrowser.SelectedPath所選擇的文件夾中。

+0

對不起,對我來說這很複雜...... – Vitokhv

+0

@Vitokhv你是什麼意思? – XenoRo

+0

根據你的參考,我什麼都不懂,這個例子使用TextBox的代碼 – Vitokhv

相關問題