GSerg писал(а):Перебором.
Dim LBArray(9) As Label
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim L As Label
For i As Integer = 0 To LBArray.Length - 1
L = New Label
L.Name = "MyLabel" & i + 1
L.Text = L.Name
L.BackColor = Drawing.Color.Azure
L.Location = New Drawing.Point(10, 10 + i * (L.Size.Height + 2))
LBArray(i) = L
Next
Me.Controls.AddRange(LBArray)
End Sub
Nord777 писал(а):
- Код: Выделить всё
LBArray(i) = L
Me.Controls.AddRange(LBArray)
Максим Рыльскый писал(а):Книги - морська глибина,
хто в них пірне аж до дна,
той хоч и труду мав досить,
дивнії перли виносить
Dim LBArray(9) As Label
AnarCky писал(а):Еще...
Что значат эти строки?Nord777 писал(а):
- Код: Выделить всё
[b]LBArray(i) = L[/b]
Me.Controls.AddRange(LBArray)
For Each obj In col
' что-то делаем с obj
Next
Dim i AS Control
Dim ARR() AS Control
For each i In ARR()*
If ARR(i) Is ChemElemCell.ChemElemCell
Ed If
Next
For i1 = 1 To 10000
For Each i In Controls
If i Is ChemElemCell.ChemElemCell* Then
CRTBarray(i1) = i
End If
Next
Next
tyomitch писал(а):А что, TypeOf ... Is в VB.net отменили?
MSDN писал(а):В Visual Basic 6.0 функция TypeOf использовалась в инструкции If...Then...Else для того, чтобы установить, соответствовала ли ссылка на объект указанному типу объекта. В этом контексте определенный пользователем тип рассматривался как тип объекта.
В Visual Basic .NET определенные пользователем типы (теперь известные как структуры) не являются типами объектов и не могут обрабатываться функцией TypeOf.
Следующий пример иллюстрирует использование функции TypeOf с определенным пользователем типом:
- Код: Выделить всё
' Visual Basic 6.0
Private Type MyType
a As Integer
End Type
Private Sub Form_Load()
Dim m As MyType
If TypeOf m Is MyType Then
MsgBox "MyType"
End If
End Sub
' After upgrade to Visual Basic .NET
Private Structure MyType
Dim a As Short
End Structure
Private Sub Form_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load
Dim m As MyType
' UPGRADE_WARNING: TypeOf has a new behavior.
If TypeOf m Is MyType Then
MsgBox "MyType"
End If
End Sub
Что делать дальше
Приведите код к сравнению типов без использования функции TypeOf:
- Код: Выделить всё
' Modified code
Dim m As MyType
Dim mTest As MyType
If m.GetType Is mTest.GetType Then...
Dim cont As Control, i1 As Integer
Dim stroka As String
Dim fail As System.IO.StreamReader
Dim CRTBarray() As ChemElemCell.ChemElemCell
Dim el As ChemElemCell.ChemElemCell
For i1 = 0 To Controls.Count - 1
For Each cont In Controls
If i1.GetType Is GetType(ChemElemCell.ChemElemCell) Then
CRTBarray(i1) = cont
End If
Next
Next
For i1 = 0 To CRTBarray.Length - 1
If System.IO.File.Exists("Разное\table.txt") Then
fail = System.IO.File.OpenText("Разное\table.txt")
stroka = fail.ReadLine
Else
MessageBox.Show("К сожалению не найден файл table.txt.", "Ошибка", _
MessageBoxButtons.OK, MessageBoxIcon.Error, _
MessageBoxDefaultButton.Button1)
End If
el = New ChemElemCell.ChemElemCell
el.Name = "cec" & stroka.Substring(0, 2)
el.ElementName = stroka.Substring(54, 12)
el.ElementLatinName = stroka.Substring(69, 12)
el.ElementNumber = stroka.Substring(84, 3)
el.ElementSymbol = stroka.Substring(0, 2)
el.ElementNum1 = stroka.Substring(6, 9)
el.ElementNum2 = stroka.Substring(18, 9)
el.GradientColor1 = Color.OrangeRed
el.GradientColor2 = Color.Orange
el.Location = New Drawing.Point(24, 608 + el.Size.Width)
CRTBarray(i1) = el
Next
CRTBarray(i1) = cont
el = New ChemElemCell.ChemElemCell
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 37