2010-01-30 68 views
0

请原谅我的头衔,我不知道这叫做什么。如何引用模块中的控件?

我有一个MS Access数据库设置,Period字段值1,2,3,4或5.我使用数据库连接检索这些值,我想引用一个特定的控件基于从数据库中获取什么时间段。

这里是示例代码,当然是伪代码。

TextBox(dr(3)).Text = dr(0) 

dr(3)含有期间,和DR(0)包含我想放入文本框中的内容。我的表单上有这些文本框:TextBox1TextBox2TextBox3,TextBox4TextBox5

因此,如果dr(3)包含2那么我想引用TextBox2

我希望我已经明确自己,任何帮助将不胜感激,谢谢。 :)

回答

0

我假设你的文本框是在相同的控制(即 - 他们有相同的父对象)。你可以使用:

Dim txtbox as TextBox = CType(parentControl.FindControl("TextBox" & dr(3).ToString()), TextBox) 
txtBox.Text = dr(0) 

编辑:对于组合框中

For each ctrl as Control in myGB.Controls 
    If ctrl.ID = "TextBox" & dr(3).ToString() Then 
     CType(ctrl, TextBox).Text = dr(0) 
     'EDIT: add exit to stop iteration once the textbox is found 
     Exit For 
    End If 
Next 
+0

他们都集中在一个GroupBox是啊,我会给这个去现在回来给你:D – James 2010-01-30 18:33:31

+0

使用此代码后:'CType(Main.gridHolder.FindControl',我得到的erorr:' 'FindControl'不是'System.Windows.Forms.GroupBox'的成员。可以试着通过整个表单来找到它吗?不太可能会有更多的文本框使用同一种名称。 – James 2010-01-30 18:36:54

+0

检查编辑。 – 2010-01-30 18:42:35

0

我有点在VBA生疏,但你可能想使用控件数组。当控件设置为控件数组时,您可以使用dr(3)为该数组索引。

相关问题