Скрытое окно с сообщением об ошибке - PullRequest
0 голосов
/ 07 июля 2011

Я отлаживал программу и помещал окно сообщения, используя System.Windows.Messagebox.show("Message"); Я успешно отладил его и удалил все созданные мной сообщения. когда я пытался запустить его, одно из окон сообщений все еще было видно, а когда щелкнуло «ОК», теперь все время появляется одна и та же ошибка, и я не могу от нее избавиться. это метод, в котором он останавливается

 OpenFileDialog fileDialog = new OpenFileDialog();
 fileDialog.Filter = "CSV Files|*.csv";
 fileDialog.Multiselect = false;
 fileDialog.Title = "Load CSV file";

 List<List<string>> listOfPreview = new List<List<string>>();

 **if (fileDialog.ShowDialog().Value)** this is the line of the error
   {
      listOfPreview = viewModel.ImportPreviewCsv(fileDialog.FileName, ',');
   }

ошибка:

Исключительная ситуация InvalidOperationException не обработана.

Обработка диспетчера приостановлена, но сообщения все еще обрабатываются.

Теперь, когда я пытаюсь сделать CTRL + F , чтобы найти окно сообщения, я не могу найти его где угодно. и моя программа все еще не работает. пожалуйста, помогите.

Ответы [ 3 ]

2 голосов
/ 07 июля 2011

неправильное обращение с ShowDialog,

Вы должны просто заменить:

**if (fileDialog.ShowDialog().Value)**

с:

if (fileDialog.ShowDialog() != DialogResult.Cancel)
0 голосов
/ 07 июля 2011

попробуйте этот код

OpenFileDialog fileDialog = new OpenFileDialog();
fileDialog.Filter = "CSV Files|*.csv";
fileDialog.Multiselect = false;
fileDialog.Title = "Load CSV file";

List<List<string>> listOfPreview = new List<List<string>>();

if (fileDialog.ShowDialog()!= DialogResult.Cancel)
{
    listOfPreview = viewModel.ImportPreviewCsv(fileDialog.FileName, ',');
}

или

OpenFileDialog fileDialog = new OpenFileDialog();
fileDialog.Filter = "CSV Files|*.csv";
fileDialog.Multiselect = false;
fileDialog.Title = "Load CSV file";

List<List<string>> listOfPreview = new List<List<string>>();

if (fileDialog.ShowDialog()!= DialogResult.Ok)
{
    listOfPreview = viewModel.ImportPreviewCsv(fileDialog.FileName, ',');
}
0 голосов
/ 07 июля 2011

Запустите вашу программу в режиме отладки, нажав F5 в Visual Studio. Когда появится MessageBox, нажмите кнопку «Пауза» на панели инструментов в Visual Studio. Кнопка паузы будет выглядеть так: '||'

Теперь посмотрите окно стека вызовов. Вы сможете узнать, откуда показывался MessageBox.

...