表单中的某些代码行没有被执行?

时间:2013-04-04 12:43:40

标签: c# winforms visual-studio-2010 visual-studio

我的程序中有一个表单,有两个下拉菜单和三个按钮。当我运行表单时,我希望两个下拉列表为空白,并且其中一个按钮被禁用。我有这个设置,工作正常,但我已经在程序中的其他类和表单,并回来改进一些东西,我发现代码不再有效。这些行特别是:

private void mainForm_Load(object sender, EventArgs e)
{
    this.roomsTableAdapter.Fill(this.bookingSystemDatabaseDataSet.rooms);
    timeBox.ResetText();
    roomBox.ResetText();
    updateTextOutput();
    bookButton.Enabled = false;
}

第一行使用TableAdapter填充相关的房间'下拉框,它工作,但此行之后的代码似乎根本没有执行。评论这条线意味着他们被执行,但显然我的房间'下拉将是空的。我已经尝试将这些行移动到表单的主执行点,但同样的事情发生了。

此外,我已经尝试填补这些房间'以其他方式下载,包括:

roomBox.DataSource = roomsTableAdapter.Fill(bookingSystemDatabaseDataSet.rooms);

roomsTableAdapter.Fill(bookingSystemDatabaseDataSet.rooms);
roomBox.DataSource = roomsTableAdapter;

当然,这些尝试非常相似,但我想我会试一试。事实证明,在每种情况下都会发生完全相同的事情; ' roomBox'填充,然后忽略其余的代码。通过逐步调试我已经认为是真实的调试,代码甚至没有被我执行。没有错误,程序运行,为什么这些行被忽略?

1 个答案:

答案 0 :(得分:1)

虽然代码看起来运行良好,但实际上却抛出了异常 - 正如sgmoore所怀疑的那样,但它并没有导致中断。 gunr2171给出了预后:

按Ctrl + Alt + E打开“例外”窗口,然后勾选Common Language Runtime ExceptionsThrown的复选框。这使我能够看到错误(Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.)实际上是显而易见的。我通过删除数据集中房间的引用并重新创建它来解决这个问题。

在sgmoore和gunr2171的帮助下解决。