2016-06-29 2 views
0

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

А вот мой простой код: -

private void PicInputBtn_Click(object sender, RoutedEventArgs e) 
{ 
    var dialog = new Microsoft.Win32.OpenFileDialog 
    { 
     DefaultExt = ".jpg", 
     Filter = "img file|*.jpg", 
    }; 

    if (dialog.ShowDialog() != true) 
    { 
     return; 
    } 
} 
+0

Вы уже пробовали ответы в этом подобном вопросе? http://stackoverflow.com/questions/2201227/c-wpf-openfiledialog-does-not-appear? – Sosian

+0

Посмотрите на программу просмотра событий> окна журнала> приложение. Должен быть журнал ошибок – osmanraifgunes

+2

@Sayse 'Microsoft.Win32.OpenFileDialog' возвращает' bool? '. Код в порядке. Вы думаете о 'System.Windows.Forms.OpenFileDialog' –

ответ

0

Измените свой код:

private void PicInputBtn_Click(object sender, RoutedEventArgs e) 
{ 
    var dialog = new Microsoft.Win32.OpenFileDialog 
    { 
     DefaultExt = ".jpg", 
     Filter = "img file|*.jpg" // You had an extra ',' here. 
    }; 

    if ((Nullable<bool>dialog.ShowDialog()) == true) // Also you forgot to put Nullable<bool> 
    { 
     // string filename = dlg.FileName; 
    } 
    else 
    { 
     return; 
    } 
} 
+0

Возможно, не вопрос кода, я прошу моего товарища по команде скачать патч win7 sp1 и ее компьютер могут корректно отображать OpenFileDialog! в любом случае, по-прежнему спасибо за вашего собеседника !!! – Fireyu

+0

@Fireyu Это нормально. –

0

Если ничего не происходит, но указатель мыши превращается в небольшой занятой индикатор.

Вы можете попытаться установить нить STAThread:

[STAThread]  
static void Main(string[] args) 
{ 
    var o = new OpenFileDialog(); 
    var r = o .ShowDialog(); 
} 

Howover они много причин, которые могут сломать OpenFileDialog, вы можете попытаться запустить программу в режиме администратора и попробуйте переустановить .NET Framework

Смежные вопросы