这有点奇怪,但我已经挣扎了几个小时,我不明白发生了什么。
我想知道是否有其他人遇到过这个问题,也许可以解释一下。我正在构建一个简单的 Winforms 应用程序并尝试使用许多内置控件。
基本上,我有一个带有用户控件和一些数据捕获字段的表单。其中 3 个字段是下拉列表,在用户控件上我有一个直接绑定到 Product 类的 bindingSource 控件。
在运行时,我向 BindingSource 提供 Product 类的实例,并且该类包含ProductType
. 为简单起见,我还在List<ProductType>
Product Class 中添加了一个 ProductTypes,它在查询时会自行加载,这意味着我可以使用相同的 bindingSource 并选择ProductTypes
Data Member 作为下拉列表的 Datasource。
运行表单后,列表完美绑定,我可以看到列出的所有产品类型,我可以选择一个并选项卡或单击下一个字段。但显然选定的值不会绑定,因为我没有为下拉列表选择任何绑定-SelectedValue,只有一个数据源。只要我确保下拉通过绑定到 Bindings-SelectedValue 来修改 Product 的实例,然后运行表单,列表仍然会完美填充,只要我不这样做,我就可以通过控件进行选项卡从下拉列表中进行选择。如果我从下拉列表中进行选择,则下拉列表将保持焦点. 我无法为爱或金钱选择标签,甚至无法单击表单上的取消按钮,右上角的关闭按钮是我唯一可以单击的有效按钮,我无法单击任何其他字段或下拉菜单。一旦做出选择,这将影响所有三个下拉列表。
有人知道我缺少什么吗?
我尝试改变一些事情,并通过将下拉值提供一个字符串 [] 而不是对象的成员来取得一些成功。这似乎有效,但破坏了使用数据绑定的对象,不是吗?
任何帮助表示赞赏!