【发布时间】:2013-04-04 12:43:39
【问题描述】:
我的程序中有一个表单,它有两个下拉菜单和三个按钮。当我运行表单时,我希望两个下拉菜单为空白,并且其中一个按钮被禁用。我有这个设置并且工作正常,但是我一直在处理程序中的其他类和表单,并且回来改进一些东西,我发现代码不再有效。特别是以下几行:
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' 被填满,然后其余代码被忽略。通过单步调试来备份我已经认为是真的,据我所知,代码甚至没有被执行。没有错误,程序运行,为什么这些行被忽略了?
【问题讨论】:
-
真的看不出这里出了什么问题。虽然这不是一个大问题,但我非常感谢您提供的任何帮助。
-
你确定没有抛出异常吗?参见例如stackoverflow.com/questions/1583351/…
-
要从@sgmoore 跟进,按(至少在VS2008 中)Cntl+Alt+E 以调出句柄异常。单击
Thrown下的Common Language Runtime Exceptions复选框。 -
@gunr2171 好的,你们说对了。执行似乎停止的行引发异常:“无法启用约束。一行或多行包含违反非空、唯一或外键约束的值。”我会调查这个错误。
-
而且...它已修复。非常感谢大家,我非常感谢您的帮助。我会以你的名义自行回答。
标签: c# winforms visual-studio-2010 visual-studio