通过函数VB.NET获取控件属性

时间:2014-10-10 09:49:45

标签: vb.net function combobox controls

我正在尝试创建一个函数,它将为控件创建一些属性(在本例中为组合框)。但是,接收控件不从函数中获取值属性。

这是创建属性的函数。

Public Function getComboboxProperties(ByVal dt As DataTable) As
ComboBox
    Try
        Dim ctrlCombobox As New ComboBox
        ctrlCombobox.BindingContext = New BindingContext
        ctrlCombobox.DataSource = dt
        ctrlCombobox.ValueMember = "ID"
        ctrlCombobox.DisplayMember = "DESCRIPTION"
        getComboboxProperties = ctrlCombobox
    Catch ex As Exception
        Return Nothing
        MessageBox.Show(ex.ToString, "", MessageBoxButtons.OK, MessageBoxIcon.Error)
    End Try End Function

新值传递:

cmbCompanyStatus = clsCommon.getComboboxProperties(dtStatus)

当我打开表单时,combobox cmbCompanyStatus不会获取数据源并且不显示任何内容。

非常感谢任何帮助。谢谢!。

2 个答案:

答案 0 :(得分:0)

我建议可能的原因是在你的作业中被抛出异常。陈述

Return Nothing
MessageBox.Show(ex.ToString, "", MessageBoxButtons.OK, MessageBoxIcon.Error)

是错误的方式;该函数将返回而不显示消息框。

此外,

getComboboxProperties = ctrlCombobox

是一种回归价值的老式方式;在VB.Net中,人们更喜欢

Return ctrlCombobox

答案 1 :(得分:0)

看着这个,你似乎错过了以下内容:

' Snip
    ctrlCombobox.DataSource = dt
    ctrlCombobox.ValueMember = "ID"
    ctrlCombobox.DisplayMember = "DESCRIPTION"
    ctrlCombobox.DataBind() ' <-------------------- This line here
    getComboboxProperties = ctrlCombobox