我正在调试程序并使用了一个消息框
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 找到消息框时,我无法在任何地方找到它。我的程序仍然无法正常工作。请帮忙。
答案 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, ',');
}