我在Visual C#Express 2010中开发我的C#应用程序,当我打开FolderBrowserDialog时,它打开很好,我也能够获取文件夹名称和文件。
相同的应用程序(我也没有更改任何单行代码),我已经在Visual Studio 2010中打开了终极版。在调试应用程序时,我没有遇到任何问题。
但是,在通过应用程序打开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);
}