Я пытаюсь использовать класс .NET OpenFileDialog в C ++ и получаю странную ошибку.Мой базовый код ниже.
OpenFileDialog^ openFileDialog = gcnew OpenFileDialog;
openFileDialog->InitialDirectory = "c:\\";
openFileDialog->Filter = "Bitmap|*.bmp|All Files|*.*";
openFileDialog->FilterIndex = 1;
openFileDialog->RestoreDirectory = true;
if (openFileDialog->ShowDialog() == DialogResult::OK)
MessageBox::Show(openFileDialog->FileName, "Information", MessageBoxButtons::OK, MessageBoxIcon::Information);
Когда код достигает этой точки, диалоговое окно открывается, как и ожидалось.Но если я переключу раскрывающийся список «Тип файлов», как это может сделать пользователь, файлы и каталоги, перечисленные в диалоговом окне, исчезнут (независимо от фильтра).Если я зайду в родительский каталог и снова введу тот же дочерний каталог, то файлы и каталоги будут правильно отображены, отфильтрованы, как и ожидалось.Кто-нибудь имеет какие-либо идеи, почему я могу получить эту странную ошибку?
К вашему сведению, я нахожусь на 64-битной Windows XP с пакетом обновления 2, сборка с Visual Studio 2010 для.