背景:我正在開發使用C#與一個OpenFileDialog和FileBrowserDialog是應該WinForms應用程序:C#WinForms應用程序 - 調試錯誤使用的OpenFileDialog,多選,登錄
- 啓用的多個XLS文件的選擇。
- 做出選擇之後,在文本框中顯示所選的xlsx文件名
- 複製選定的文件上的winform應用程序
底部登錄窗口合併
- 選擇從FileBrowserDialog文件後,另一FileBrowserDialog箱出現
- 只有1個選定的文件出現在文本框中。沒有足夠的空間顯示所有文件b/c文件路徑很長。是否有可能只顯示文件名而不顯示完整路徑?除了在建議的文本框中顯示選定的文件之外,是否有更好的方法來確認MultiSelect在WinForm中的工作?
- 點擊合併按鈕不會將所選文件複製到統一目錄或顯示正確的日誌文件。
- 我得到的記錄窗口:「源文件:System.String []」
這裏是我的代碼:
private void sourceFiles_Click(object sender, EventArgs e)
{
Stream myStream;
int i = 0;
OpenFileDialog sourceFilesList = new OpenFileDialog();
this.sourceFileOpenFileDialog.InitialDirectory = "i:\\CommissisionReconciliation\\Review\\";
this.sourceFileOpenFileDialog.Filter = "Excel Files (*.xls;*.xlsx;)|*.xls;*.xlsx;|All Files (*.*)|*.*";
this.sourceFileOpenFileDialog.FilterIndex = 2;
this.sourceFileOpenFileDialog.RestoreDirectory = true;
this.sourceFileOpenFileDialog.Multiselect = true;
this.sourceFileOpenFileDialog.Title = "Please Select Excel Source File(s) for Consolidation";
if (sourceFileOpenFileDialog.ShowDialog() == DialogResult.OK)
{
try
{
if ((myStream = sourceFileOpenFileDialog.OpenFile()) != null)
{
using (myStream)
{
Log("Source Files: " + sourceFilesList.FileNames);
}
} // ends if
} // ends try
catch (Exception ex)
{
MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message);
}
} // ends if (sourceFileOpenFileDialog.ShowDialog() == DialogResult.OK)
} // ends public void sourceFiles_Click
private void consolidateButton_Execute_Click(object sender, EventArgs e)
{
string consolidatedFolder = targetFolderBrowserDialog.SelectedPath;
foreach (String file in sourceFileOpenFileDialog.FileNames)
{
try
{
// Copy each selected xlsx files into the specified TargetFolder
System.IO.File.Copy(sourceFileOpenFileDialog.FileName, consolidatedFolder + @"\" + System.IO.Path.GetFileName(sourceFileOpenFileDialog.FileName));
Log("File" + sourceFileOpenFileDialog.FileName + " has been copied to " + consolidatedFolder + @"\" + System.IO.Path.GetFileName(sourceFileOpenFileDialog.FileName));
}
} // ends foreach loop
} // ends void consolidateButton_Execute_Click
我會給+1上投票支持任何有幫助解答!
感謝您的期待!
更新:更新代碼瓦特/一個foreach(在sourceFilesList.FileNames字符串文件名)迴路和控制列表框,仍然有問題瓦特/ filebrowser裝載2x,以及與「源文件:System.String []」消息
感謝您的迴應。我從標題中摘下了FolderBrowserDialog,我將檢查該代碼。 – 2011-03-24 16:24:39