Ошибка openfiledialog для выбора используемых файлов - PullRequest
0 голосов
/ 13 октября 2011
try
        {
            OpenFileDialog dialog = new OpenFileDialog();
            String appData = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
            string tempPath = System.IO.Path.GetTempPath();
            dialog.InitialDirectory = tempPath;
            dialog.Multiselect = true;
            dialog.Filter = "Temp files (*.tmp)|*.tmp";
            dialog.ValidateNames = false;
            if (dialog.ShowDialog() == DialogResult.OK)
            {
                string[] filePaths = dialog.SafeFileNames;
                foreach (string s in filePaths)
                    richTextBox1.Text += s;
                //MessageBox.Show("");
            }
        }
        catch 
        {
            MessageBox.Show("Error Occured");
        }

при выборе файлов (которые уже используются в другом приложении) в openfiledialog Я получаю сообщение об ошибке, но все же я хочу, чтобы их пути ...

enter image description here

Ответы [ 3 ]

2 голосов
/ 22 октября 2011

Это, очевидно, проблема с OpenFileDialog и MultiSelect "true". Смотрите этот пост для обсуждения проблемы (и некоторых возможных решений):

http://social.msdn.microsoft.com/forums/en-US/netfxbcl/thread/56fbbf9b-31d5-4e89-be85-83d9cb1d538c/

1 голос
/ 29 января 2015

Настройка openFileDialog.ValidateNames = false; у меня сработала.

0 голосов
/ 13 октября 2011

try

String tempPath = System.IO.Path.GetDirectoryName (dialog.FileName) + @ "\";

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...