Как мога да задам името на хронометъра по време на изпълнение?

Имам нужда от решение за малък проблем в моя проект и ще го направя възможно най-просто:

В един от формулярите в моя проект потребителят трябва да може да добави панел към формуляра и този формуляр трябва да съдържа 2 контроли ... етикет и (хронометър или таймер).

Проблемът е, че след динамичното създаване на хронометъра не мога да задам име за хронометъра. По-късно в тази форма, когато потребителят кликне върху панела, хронометърът трябва да започне. Как мога да задам името на създадения хронометър? или всяко друго решение, ако моят начин е твърде глупав. Ето какво имам:

Dim Panels As Integer = ds.Tables("Pool").Rows.Count
        For i = 1 To Panels 
            'set the new panel number
            Dim NextPanelNumber As Integer = FlowLayoutPanel1.Controls.Count + 1
            'controls to be added
            Dim NextPanel As New PanelControl
            Dim NextPanelLabel As New LabelControl
            Dim NextPanelStopwatch As New Stopwatch
            'determine properties for new table
            NextPanel.Width = 200
            NextPanel.Height = 114
            NextPanelStopwatch.Name = "anything" ' <-- PROBLEM IS HERE

            'add controls into new panel
            NextPanel.Controls.Add(NextPanelLabel)

person Boher    schedule 30.01.2013    source източник
comment
Може би трябва да създадете потребителска контрола, която съдържа етикет и хронометър. Просто да изложите свойствата, които трябва да персонализирате, и да ги добавите към панел с оформление на потока?   -  person Origin    schedule 30.01.2013
comment
Да, вече се добавя към панел за оформление на потока, но това, с което се боря, е да задам САМО името на хронометъра.   -  person Boher    schedule 30.01.2013


Отговори (1)


Вие създадохте името за Хронометъра, когато го създадохте, няма допълнително свойство за име. Просто се уверете, че екземплярът има видимост там, откъдето искате да започнете.

Dim NextPanelStopWatch As New Stopwatch
NextPanelStopWatch.Start()
person Mark Hall    schedule 30.01.2013
comment
Добре, да кажем, че имам 3 хронометъра с тези имена: NextPanelStopWatch1, NextPanelStopWatch2, NextPanelStopWatch3 ... Ако щракна върху панел 1, искам първият хронометър да започне. Как да го нарека тогава? - person Boher; 30.01.2013
comment
Виждам какъв е проблемът ви, това, което се опитвате да направите, е тромаво, най-добрият ви залог е да създадете потребителски контрол и да изложите методите, от които се нуждаете, оттам. Това, от което се нуждаете, е уникална променлива с обхват на клас за всеки хронометър, която нямате, тъй като я създавате в цикъл. Можете да опитате да създадете списък с обхват на клас (на хронометър) и да добавите вашите хронометри към него, след което можете да ги извикате по екземпляр. т.е. StopWatchList(1).Start. Ще имате същия проблем и с други елементи. - person Mark Hall; 30.01.2013