【发布时间】:2017-02-01 22:01:02
【问题描述】:
我还是 .net 的新手。将应用程序从 vba 传输到 SQL server + vb.net。 我有一些组合框在表单加载时填充了每种语言和情况的数据。组合框的数据在语言类(库 dll 的一部分)中作为字典(整数、字符串)检索 我打算从语言类中的过程中填充组合框(MyComboBox 继承自 forms.combobox 并具有一些自定义属性):
Dim cbo As MyComboBox = CType(Ctrl, MyComboBox)
cbo.DataSource = New BindingSource(ComboboxData, Nothing)
cbo.ValueMember = "Key"
cbo.DisplayMember = "Value"
我担心它不会起作用。 此代码是加载每个表单时调用的过程的一部分,一旦执行就会超出范围。 组合框中的绑定数据怎么样。它们是按值传输的,还是通过引用 ComboboxData 链接的,一旦被调用的过程返回控制权,它们就会丢失。如果是这样,还有另一种方法可以使用一对值动态填充组合框并显示外部类中的成员。
【问题讨论】:
-
您写了“我很害怕,但它不会起作用。” - 您是否尝试过并发现了问题,或者您是否担心它可能不起作用?
-
CBO 显然是被传递给某个东西,因为它正在被投射。为什么会这样,在哪里,我们能看到吗
-
致 Andrew,在之前的测试中,我有以下代码:
-
@Andrew 对不起,我想回答你,但还没有找到如何用代码回答结构化文本
-
@Plutonix,Ctrl 是“for Each Ctrl as Control in frm.Controls”中的一个控制变量,以便使用它我使用“如果 typeof ctrl is .... " 然后投射
标签: vb.net data-binding combobox