我正在 Visual C# Express 2010 中开发我的 C# 应用程序,当我打开 FolderBrowserDialog 时,它打开得很好,而且我还可以获得文件夹名称和文件。
同一个应用程序(我也没有更改任何一行代码),我在 Visual Studio 2010 Ultimate 中打开。在调试应用程序时,我没有遇到任何问题。
但是,在通过应用程序打开 FolderBrowserDialog 时(单击单选按钮时),应用程序自动关闭而没有任何错误(我在 try-catch 本身中有代码。甚至没有出现任何异常)。
这是我关闭应用程序的简单代码:
DialogResult getFolderDialogResult = folderBrowserDialog1.ShowDialog();
在评论上述内容时,应用程序未关闭。
注意:我只是在调用 folderBrowserDialog 之前添加了 openFileDialog,我想知道它工作正常。
openFileDialog1.ShowDialog();
DialogResult getFolderDialogResult = folderBrowserDialog1.ShowDialog();
另一个注意事项:我已经创建了新项目并尝试了 FolderBrowserDialog。它工作正常:(
我的代码:
try
{
MessageBox.Show("Select Folder Radio Button CLicked", "Radio Button", MessageBoxButtons.OK);
string[] getFilesList = null;
listBoxSelectSheetsMFR.DataSource = getFilesList;
if (listBoxSelectSheetsMFR.Items.Count > 0)
{
listBoxSelectSheetsMFR.Items.Clear();
}
String tempString = "";
ArrayList onlyFileNames = new ArrayList();
String invalidFormat = "No";
String folderPath = "";
//Open Folder Selection Dialog
DialogResult getFolderDialogResult = folderBrowserDialog1.ShowDialog();
if (getFolderDialogResult == DialogResult.OK)
{
folderPath = folderBrowserDialog1.SelectedPath;
MessageBox.Show(folderPath, "Folder Path", MessageBoxButtons.OK);
//Get All Files
getFilesList = Directory.GetFiles(folderPath);
for (int i = 0; i < getFilesList.Length; i++)
{
if (!Path.GetExtension(getFilesList[i].ToString()).Equals(".xls"))
{
invalidFormat = "Yes";
}
}
if (invalidFormat.Equals("No"))
{
panelSelectSheetsMFR.Visible = true;
//Enable the ListBox and load the filenames
for (int i = 0; i < getFilesList.Length; i++)
{
tempString = getFilesList[i].ToString().Replace(folderPath + "\\", "");
onlyFileNames.Add(tempString.Replace(".xls", ""));
}
//Adding Items into ListBox
listBoxSelectSheetsMFR.DataSource = onlyFileNames;
}
else
{
MessageBox.Show("One of file is having invalid Format. Please make sure all files \nshould be .xls format.", "Format Error", MessageBoxButtons.OK);
}
}
MessageBox.Show(getFilesList.Length.ToString(), "# of Files", MessageBoxButtons.OK);
}
catch (Exception selectFolderExMsg)
{
MessageBox.Show(selectFolderExMsg.ToString(), "selectFolderRadioButtonFN", MessageBoxButtons.OK);
}