1) VB.NET doesn't support controls arrays.
Your code reads:
HoldArr(i) = TextBox(1)
What is that TextBox(1) supposed to be referring to?
2) In Visual Basic .NET, default properties are not supported, unless they take arguments:
Incorrect: strText = Text1
Correct: strText = Text1.Text
__________________________
__________________________
_______________________________________
HOW TO SIMULATE CONTROL ARRAYS IN VB.NET
________________________________________
1) Here is a very simple solution that links the controls on the form to a member variable in your code, which gives you the closest thing to a VB control array, using one function call. The only constraint is that you must follow a naming convention for your controls.
NameXXX, where 'Name' is any string name you would like for this group of controls; and, XXX is an integer value—representing the index of the array it is to be assigned to.
http://www.codeproject.com/vb/net/control_arrays_in_vbnet.asp
2) This next workaround is Microsoft's solution. You can find the article in the .NET Help file. On the Help Index tab, search "Control Array." Then, find the listing entitled, "Creating control arrays in Visual Basic.NET."
Visual Basic .NET allows you to duplicate some of the functionality commonly associated with control arrays. For example, you can use delegates to bind events from multiple controls to a single event handler. However, it might be more convenient to incorporate that functionality into a single dynamic, easy-to-manage component.