Ниже приведен код, который я использую для создания объектов с помощью Visual Basic:
For indexCounter As Integer = 1 To TotalParticipants Step 1
participantClock = New Label
participantClock.Size = New Size(100, 20)
participantClock.Name = "participantClock" & indexCounter
participantClock.Location = New Point(139, (5 + ((indexCounter - 1) * 26)))
participantClock.BorderStyle = BorderStyle.Fixed3D
participantClock.TextAlign = ContentAlignment.MiddleRight
CenterPanel.Controls.Add(participantClock)
participantStop = New Button
participantStop.Size = New Size(58, 20)
participantStop.Location = New Point(245, (5 + ((indexCounter - 1) * 26)))
participantStop.BackColor = Color.Red
participantStop.ForeColor = Color.White
participantStop.Font = New Font(participantStop.Font, FontStyle.Bold)
participantStop.Text = "Stop"
CenterPanel.Controls.Add(participantStop)
participantTimer = New Timer
participantTimer.Start()
participantTimer.Enabled = True
participantTimer.Interval = 1
participantStopwatch = New Stopwatch
participantStopwatch.Start()
Next
Я создаю метку, кнопку, таймер и секундомер. (Несмотря на то, что я чувствую, что мне не нужны оба таймера и секундомер, потому что я считаю время.)
То, что я хотел бы сделать, это создать метку и установить текст этой метки равным значению секундомера. Кнопка, которая будет создана, остановит ЭТО секундомер.
Проблема, с которой я столкнулся, заключается в том, что я не могу назвать секундомер по имени, так как он еще не создан, и VB бросает на меня шипение. (В конце концов это не было действительно объявлено.)
Таким образом, возникает вопрос, как вызвать последний динамически созданный элемент управления и назначить события, используя этот элемент управления. Если это невозможно, я не возражаю против выгрузки формы и создания 30 секундомеров вместо этого (но я бы хотел этого избежать, если это возможно).
Спасибо за любую помощь.