2015-11-08 99 views
1
private void addGifsToolStripMenuItem_Click(object sender, EventArgs e) 
     { 
      OpenFileDialog theDialog = new OpenFileDialog(); 
      theDialog.Title = "Add Gif Files"; 
      theDialog.Filter = "GIF files|*.gif"; 
      theDialog.InitialDirectory = @"C:\"; 
      theDialog.Multiselect = true; 
      if (theDialog.ShowDialog() == DialogResult.OK) 
      { 
       try 
       { 
        string[] files = theDialog.SafeFileNames; 
        allfiles = new List<string>(files); 
        label2.Text = allfiles.Count.ToString(); 
        if (allfiles.Count > 1) 
        { 
         button2.Enabled = true; 
        } 
       } 
       catch (Exception ex) 
       { 
        MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message); 
       } 
      } 
      else 
      { 
       allfiles = new List<string>(); 
       label2.Text = "0"; 
      } 
     } 

都來自同一個目錄,我需要以某種方式,每次得到的文件目錄名稱添加的文件我點擊確定如何從OpenFileDialog中提取文件的路徑名?

行後:label2.Text =「0」;獲取文件目錄路徑。

+0

你是什麼意思?點擊確定後,進入'if'部分而不是'else'部分 –

+0

我的意思是在對話框中我要去一個目錄選擇文件,然後單擊確定我想要獲取文件所在的目錄中的字符串變量。例如:我從c:\中選擇了4個文件,所以現在在所有文件中,我將看到1.gif,2.gif,3.gif ....現在我想在另一個變量中選擇路徑來查看c:\,例如,我去了e:\ myimages,並選擇了一些文件,我將在allfiles中看到:1.gif,2.gif,3.gif現在在selectedpath中的螺母,我將看到e:\ myimages –

回答

1

您可以使用Path.GetDirectoryName(filePath);來獲取目錄的名稱對於任何給定文件路徑:

string directoryName = Path.GetDirectoryName(theDialog.FileName); 

或:

foreach(string file in theDialog.FileNames) 
{ 
    directoryNameList.Add(Path.GetDirectoryName(file)); 
} 
相關問題