我在表單類級別有幾個文本框數組。當我試圖循環遍歷這些數組,每個循環,我的循環變量值是'沒有'。這裏是我的表單級別陣列:類級別控制數組
Public Class frmTDSNew
' Form level arrays to hold text boxes to fill and validate
Dim decimalBoxes() As TextBox = New TextBox() {txtLenPerDrum, txtWeightPerDrum, txtEnamThick, txtEnamTolPos, txtEnamTolNeg,
txtEpoxyThick, txtEpoxTolPos, txtEpoxTolNeg, txtNomDimH, txtNomDimHPos, txtNomDimHNeg,
txtNomDimW, txtNomDimWPos, txtNomDimHNeg, txtTensileStrength, txtElongation, txtYieldStghMin,
txtYieldStghMax, txtBulging, txtInsThick1, txtInsThick2, txtInsThick3, txtProThick, txtEdgeProThick,
txtInterColThick}
Dim integerBoxes() As TextBox = New TextBox() {txtPONbr, txtNbrWire, txtNbrDrum, txtDrumSets, txtWindInnerDia, txtPitch}
這裏是我通過陣列試圖環路的地方之一:
Private Function IsValidData() As Boolean
For Each box As TextBox In decimalBoxes
If Not IsDecimal(box) Then
Return False
End If
Next
For Each box As TextBox In integerBoxes
If Not IsInt32(box) Then
Return False
End If
Next
Return True
End Function
在循環,「盒子」被設置爲無,甚至儘管當我在調試模式下設置斷點時,我可以看到數組中的所有內容都是文本框。當我將數組移動到我稱之爲的函數內時,一切正常,但是這違背了在課堂級聲明它們的目的。我想在我的表單的幾個地方使用這些數組。任何想法我在這裏做錯了嗎?
您應該只在表單設計器代碼運行並將其創建後纔將TB添加到數組中。看起來像代碼應該拋出一個異常。由於您想測試TB內容,所以'IsDecimal(box)'應該可以是'IsDecimal(box.Text)' – Plutonix
您正準備在表單設計器代碼之後將它們添加到數組中。我更改了我的代碼以在類級別聲明數組,並將texboxes分配給我的frmTDSNew_Load事件中的數組。如果你想讓這個答案我會接受。謝謝! –