Хорошо, у меня есть щекотка для ваших мозгов. Я конвертирую программу, написанную на VB6, в Visual Studio 2010 VB.Net и столкнулся с проблемой. Я пытаюсь перебрать 20 элементов формы в форме, все из которых имеют префикс «chkCustomerItems», а затем имеют число от 1 до 20 за ними. Я использую это с поиском в базе данных, так что если есть запись в базе данных, она затем применяет имя элемента базы данных к текстовому полю флажка и включает видимость. Вот код, который я написал: ConnOpenClose()
Rs = New ADODB.Recordset
Sql = "SELECT * FROM CustomersItems;"
Rs.Open(Sql, Conn)
If Rs.EOF = False Then
tempInteger = 1
Rs.MoveFirst()
Do
tempString = "chkCustomerItems" & tempInteger.ToString
Me.Controls(tempString).Text = Rs.Fields("Item").Value
Me.Controls(tempString).Visible = True
tempInteger = tempInteger + 1
Rs.MoveNext()
If tempInteger = 21 Then GoTo ExitLoop
Loop Until Rs.EOF
ExitLoop:
End If
Когда он запускается, я получаю ошибку NullReferenceException. Это в основном код, который я использовал в VB6 (с некоторыми изменениями для инфраструктуры .NET). Помогите мне, пожалуйста, понять, что я делаю неправильно, на данный момент мне приходится жестко кодировать все 20 элементов, и хотя это работает, это не выглядит и не работает красиво.
заранее спасибо