Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 06.01.2021
Сообщений: 11

Добавление и автоматическое удаление элементов

05.12.2023, 05:07. Показов 332. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
В Winform есть textBox и button. По нажатию на button содержимое textBox добавляется в list. Каждый добавленный элемент в list должен пробыть там ровно 5 минут, после чего удалиться
Элементы могут добавляться чаще чем 5 минут и при этом каждый элемент всё равно должен прожить свои 5 минут, после чего удалиться
То есть у каждого элемента list должен быть свой таймер
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.12.2023, 05:07
Ответы с готовыми решениями:

Автоматическое добавление/удаление языка клавиатуры
Задача такая, нажатием дополнительной клавиши в мультимедийной клавиатуре добавить определенный язык клавиатуры (В данном случае Татарский...

Автоматическое удаление динамически созданных элементов
Требуется написать страницу которая будет добавлять элементы ненумерованного списка, при этом задается текст, цвет шрифта и тип маркера. ...

Добавление элементов к дереву, удаление элементов и поиск уровня с наибольшей суммой элементов
Помогите пожалуйста! нужно разработать программу для работы с деревом. В узлах дерева содержатся символы. Дерево должно быть...

2
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
05.12.2023, 06:09
вариант 1 : List<(string, DateTime)> где записываем значение + время создания. Общий таймер, который чекает раз в 1 сек, что все элементы не старше 5 минут. Если старше -- удаляем.

вариант 2 : при добавлении в список, запускаем задачу с задержкой на 5 минут и удалением элемента.
0
 Аватар для roach1967
983 / 463 / 233
Регистрация: 27.06.2014
Сообщений: 1,033
05.12.2023, 06:30
Первый вариант:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
using System;
using System.Collections.Generic;
using System.Windows.Forms;
 
namespace WindowsFormsApp46
{
    public partial class Form1 : Form
    {
        private Timer timer;
        private List<TimeText> texts = new List<TimeText>();
        private TimeSpan interval = new TimeSpan(0, 5, 0); // время жизни строки текста: (часы, минуты, секунды)
 
        public Form1()
        {
            InitializeComponent();
            InitializeTimer();
            textBox2.ReadOnly = true; // второй textBox только для отображения списка
        }
 
        private void InitializeTimer()
        {
            timer = new Timer();
            timer.Interval = 100; // проверка 10 раз в секунду
            timer.Tick += Timer_Tick;
            timer.Start();
        }
 
        private void Timer_Tick(object sender, EventArgs e)
        {
            for (int i = texts.Count - 1; i >= 0; i--)
            {
                if (texts[i].Time + interval < DateTime.Now) // если время истекло
                {
                    texts.RemoveAt(i); // удаляем текущую запись строки
                    Print();
                }
            }
        }
 
        private void Print()
        {
            // выводим все строки
            textBox2.Clear();
            foreach (TimeText txt in texts)
            {
                textBox2.Text += $"{txt.Str}\r\n";
            }
        }
 
        private struct TimeText
        {
            public string Str;
            public DateTime Time;
        }
 
        private void Button1_Click(object sender, EventArgs e)
        {
            texts.Insert(0, new TimeText { Str = textBox1.Text, Time = DateTime.Now }); // добавляем в начало списка новый элемент
            Print();
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.12.2023, 06:30
Помогаю со студенческими работами здесь

Как сделать автоматическое добавление элементов TEXT и IMAGE, когда в БД появляется новая информация? на c++
Как сделать автоматическое добавление элементов TEXT и IMAGE, когда в онлайн БД появляется новая информация?

Двунаправленный список (добавление/удаление элементов в голову, просмотр списка, реализовать дублирование элементов с заданным значением)
Здравствуйте! Помогите написать программу, обеспечивающую работу с двунаправленным нециклическим списком: добавление/удаление элементов в...

Очередь: добавление/удаление элементов, сумма элементов
создать очередь вещественных значений для реализации используя односвязные списки. реализовать операции добавления (enqueue) и удаления...

Добавление и удаление элементов
Добрый день! Столкнулся с проблемой удаления элементов в AngularJS, хотя в общем можно сказать и в JavaScript :). Так вот, есть четыре...

Добавление/удаление элементов
У меня есть список элементов (select, список способов доставки). Т.к. система позволяет добавить несколько способов (есть предложенные,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru