Member 14106991 Ответов: 1

Как добавить таймер к динамическим созданным меткам в winform C#?


у меня есть небольшое приложение, которое динамически создает панели, которые включают в себя ( панель макета таблицы, где есть список и метка в этой таблице) вопрос в том, как я собираюсь назначить таймер в этой метке для каждой созданной панели? а также как я собираюсь запустить таймер с 00:00? вот этот код:

public Form1()
        {
           
           InitializeComponent();

               p = new Panel();
               p.Size = new System.Drawing.Size(360, 500);
               p.BorderStyle = BorderStyle.FixedSingle;
               p.Name = "panel";

               tpanel = new TableLayoutPanel();
               tpanel.Name = "tablepanel";

               ListBox lb = new ListBox();
               tpanel.Controls.Add(lb = new ListBox() { Text = "qtylistBox2" }, 1, 3);
                       
               Label l6 = new Label();
               tpanel.Controls.Add(l6 = new Label() { Text = "0" }, 2, 1)
//here is the timer that i created
               timer1.Interval = 1000;
               timer1.Tick += new EventHandler(timer1_Tick);
               timer1.Enabled = true;

public void timer1_Tick(object sender, EventArgs e)
        {
             l6.Text = DateTime.Now.ToString("mm\\:ss");

        }


Что я уже пробовал:

я пробовал этот код, но только добавляет таймер к последней метке в последней созданной панели.

ZurdoDev

Точно так же, как вы создаете динамические метки, создайте динамические таймеры.

1 Ответов

Рейтинг:
10

OriginalGriff

Я бы сделал это так: создал один таймер и добавил ваши метки в коллекцию, которую он может изучить.
Когда ваш единственный таймер получает событие Тика, он проверяет коллекцию для каждой метки вместо того, чтобы нуждаться в отдельном таймере для каждой метки. Если метка нуждается в определенном периоде ожидания, установите время окончания в метку.Пометьте свойство как DateTime и сравните его с DateTime.Теперь в обработчике клещей.
Таким образом, вы можете написать метод, который обрабатывает ТИК для одной метки, и повторно вызывать его из события одного тика, передавая метку в качестве параметра.


Maciej Los

5ed!