C # to limit liczby wybranych plików w oknie dialogowym Otwórz plik

Mam aplikację formularzy Windows C #, w której ładuję pliki XML i pliki graficzne CGM do mojej aplikacji z przeglądarki Open File. Wydaje mi się, że jestem w stanie wybrać kilkaset na raz i działa bez zarzutu, ale i tak pojawia się okno dialogowe informujące mnie, że nie może znaleźć takiego pliku, ale podaje tylko połowę nazwy pliku. Zakładam, że wynika to z ograniczenia ilości plików, które można wybrać / przetworzyć w jednym oknie dialogowym.

Czy ktoś wie, czym jest ta liczba i czy jest jakiś sposób, aby ją wybrać, jeśli mam więcej niż ten limit?

Skutecznie „importuję” pliki do mojej aplikacji, dzięki czemu przy użyciu pętli foreach wybrane pliki zostają przeniesione do innego folderu, a aplikacja zapisuje do pliku XML ze wszystkimi nazwami plików zaimportowanych plików (jak również innych danych na plikach).

Poniżej znajduje się cała metoda „importu”

private void addFilesToCSDBToolStripMenuItem_Click(object sender, EventArgs e)
{
    int DMsimported = 0;
    int graphicsImported = 0;

    if (projectName == "")
    {
        MessageBox.Show("Please open a project first", "DAWS");
        return;
    }

    DialogResult result = openFileDialog1.ShowDialog();
    if (result == DialogResult.OK)
    {
        MessageBox.Show("This process may take several minutes depending on the number of imports", "DAWS");
        Application.UseWaitCursor = true;

        foreach (string file in openFileDialog1.FileNames)
        {
            string fileName = Path.GetFileNameWithoutExtension(file); //Gets just the name from the file path
            string ext = Path.GetExtension(file.ToLower());

            if (ext != ".CGM" && ext != ".cgm")
            {
                    bool exists = xmlFileWriter.checkIfFIleExists(fileName + ext);

                    if (exists != true)
                    {
                        xmlFileWriter.writeDatatoXML(file);
                        File.Move(file, CSDBpath + projectName + "\\CheckedIN\\" + fileName + ext);
                        DMsimported = DMsimported + 1;
                    }
                    else
                    {
                        MessageBox.Show(fileName + " already exists in the CSDB. This file will be skipped.", "DAWS");
                    }  
                }
            else
            {
                if (File.Exists(CSDBpath + projectName + "\\Graphics\\" + fileName + ext))
                {
                    if (Properties.Settings.Default.OverwriteGraphics == true)
                    {
                        File.SetAttributes(CSDBpath + projectName + "\\Graphics\\" + fileName + ext, FileAttributes.Normal); // need this line in order to set the file attributes. Exception thrown otherwise when system tries to overwrite the file.
                        File.Delete(CSDBpath + projectName + "\\Graphics\\" + fileName + ext);
                        File.Copy(file, CSDBpath + projectName + "\\Graphics\\" + fileName  + ext); //need to give the option as to whether to delete the existing file or skipp.
                    }
                    else
                    {
                        MessageBox.Show(fileName + " already exists in the CSDB. This file will be skipped. To enable overwriting tick the checkbox in Preferences", "DAWS");
                    }
                }
                else
                {
                    File.Copy(file, CSDBpath + projectName + "\\Graphics\\" + fileName + ext);
                }

                graphicsImported = graphicsImported + 1;                            
            }   
        }

        Application.UseWaitCursor = false;

        buildAllListViews();
        copyCGMfilesToDirectories();

        if (DMsimported > 0)
        {
            MessageBox.Show(DMsimported.ToString() + " DM files successfully imported into the CSDB", "DAWS");
        }
        if (graphicsImported > 0)
        {
            MessageBox.Show(graphicsImported.ToString() + " graphic files successfully imported into the CSDB", "DAWS");
        }
        if (graphicsImported == 0 && DMsimported == 0)
        {
            MessageBox.Show("No files imported", "DAWS");
        }

        updateMainFilesList();  
    }  
}

questionAnswers(4)

yourAnswerToTheQuestion