1

我正在 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);
        }
4

0 回答 0