动态生成控件的name问题
根据数据库记录生成了一些panel控件
For ii As Integer = 0 To Datasetbz.Tables(0).Rows.Count - 1
Dim PAN As New Panel
PAN.Parent = Panel2
PAN.BackColor = Color.Blue
PAN.Name = Datasetbz.Tables( "jichu_data ").Rows(ii)( "班组 ")
PAN.Left = ll
PAN.Top = tt
PAN.Width = Datasetbz.Tables( "jichu_data ").Rows(ii)( "人数 ") * 30
PAN.Height = 80
ll += Datasetbz.Tables( "jichu_data ").Rows(ii)( "人数 ") * 30 + 10
PAN.Show()
Next
又在这些控件中想生成一些button控件,但在引用动态生成的panel控件时出错:
引用程序如下:
Dim lblDep_b As New Button
'第一个按钮
lblDep_b.FlatAppearance.BorderColor = Color.Red
lblDep_b.BackColor = Color.OrangeRed
lblDep_b.FlatStyle = FlatStyle.Flat
lblDep_b.ForeColor = Color.White
lblDep_b.Text = Dataset_b.Tables( "jichu_data ").Rows(0)( "dy_ban_zhu ")
lblDep_b.Parent = Datasetbz.Tables( "jichu_data ").Rows(0)( "班组 ")**************[ 出错在此句 ]********************
lblDep_b.Top = t_b
lblDep_b.Left = l_b
lblDep_b.Width = 120
lblDep_b.Height = 24
出错信息:
无法将类型为 "system.string "的对象强制转换为类型 "system.windows.forms.control "
我知道是因为指定button的父控件时用到的{Datasetbz.Tables( "jichu_data ").Rows(0)( "班组 ")}可能类型不对,但是我在上面已经将这个值作为panel名给动态生成的panel赋过name了,为什么还找不到,我要怎么做才行呢?
[解决办法]
改: Dim lblDep_b As New Button
Dim lblDep_b As New System.Windows.Forms.Button
[解决办法]
http://community.csdn.net/Expert/topic/5753/5753858.xml?temp=.9455225