我已經詢問question如何通過名稱控制循環。如何使用Me.Controls(「ControlName」)將控件捕獲到面板中
無論如何,我繼續搜索,我發現this question與使用Me.Controls
答案。
我意識到,我使用Me.Controls
的嘗試失敗,因爲控件(我試圖環)分別位於成Panel
。
如果我將它們從面板中取出,我可以使用Me.Controls("ControlName")
來捕捉每個控件,但面板非常有用,我不會錯過它。
有沒有辦法使用Me.Controls("ControlName")
來訪問面板中的控件?
編輯(我仍然無法使其作品)
這是我的代碼 TLP_Phases
是TableLayoutPanel
DS_All
是包含一些DataTables
每個DataTable
有從1到4 DataSet
rows
For r As Integer = 0 To DS_All.Tables(TblName).Rows.Count - 1
With Me.TLP_Phases
Dim CBox_Phase As CheckBox = _
CType(.Controls("CBox_Phase" & (r + 1).ToString), CheckBox)
'Here CBox_Phase result Nothing
CBox_Phase.Text = _
DS_All.Tables(TblName).Rows(r).Field(Of String)("Phase")
CBox_Phase.Visible = True
Dim TBox_BasePh As TextBox = _
CType(.Controls("TBox_BasePh" & (r + 1).ToString), TextBox)
TBox_BasePh.Text = _
"€ " & DS_All.Tables(TblName).Rows(r)(ProcVal).ToString
TBox_BasePh.Visible = True
If DS_All.Tables(TblName).Rows(r).Field(Of String)("Phase").Contains("instruct") Then
Dim TBox_MaxRedPh As TextBox = _
CType(.Controls("TBox_MaxRedPh" & (r + 1).ToString), TextBox)
TBox_MaxRedPh.Text = String.Format("{0:P}", -0.7)
TBox_MaxRedPh.Visible = True
Dim TBox_MaxUpPh As TextBox = _
CType(.Controls("TBox_MaxUpPh" & (r + 1).ToString), TextBox)
TBox_MaxUpPh.Text = String.Format("{0:P}", 1)
TBox_MaxUpPh.Visible = True
Else
Dim TBox_MaxRedPh As TextBox = _
CType(.Controls("TBox_MaxRedPh" & (r + 1).ToString), TextBox)
TBox_MaxRedPh.Text = String.Format("{0:P}", -0.5)
TBox_MaxRedPh.Visible = True
Dim TBox_MaxUpPh As TextBox = _
CType(.Controls("TBox_MaxUpPh" & (r + 1).ToString), TextBox)
TBox_MaxUpPh.Text = String.Format("{0:P}", 0.8)
TBox_MaxUpPh.Visible = True
End If
Dim TBox_SelVarPh As TextBox = _
CType(.Controls("TBox_SelVarPh" & (r + 1).ToString), TextBox)
TBox_SelVarPh.Visible = True
Dim TBox_ValPh As TextBox = _
CType(.Controls("TBox_ValPh" & (r + 1).ToString), TextBox)
TBox_ValPh.Visible = True
End With
Next
我得到NullReferenceException因爲變量containsig控件是Nothing。
我錯在哪裏?
'thePanel.Controls(...)'每個容器控件都有自己的集合 – Plutonix
@Plutonix你可以相信我:當我嘗試它時,它不起作用!也許我犯了一個錯字。真的很感謝;) – genespos
@genespos:試過*什麼*?沒有工作*如何*? 「我做了一件事,一件事情不對」並不是對問題的描述。 – David