隐藏的消息框并在其上给出错误

时间:2011-07-07 10:14:01

标签: c# debugging error-handling

我正在调试程序并使用了一个消息框 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 个答案:

答案 0 :(得分:2)

你处理ShowDialog的方式是错误的,

你应该替换:

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

使用:

if (fileDialog.ShowDialog() != DialogResult.Cancel)

答案 1 :(得分:0)

在Visual Studio中按F5运行程序在调试模式下运行。当MessageBox到来时,点击visual studio工具栏上的“暂停”按钮。暂停按钮看起来像这个'||'

现在看到Call Stack窗口。您将能够从MessageBox的显示位置找到它。

答案 2 :(得分:0)

试试这段代码

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, ',');
}