Как и обещал, я добавил в приложение некоторые дополнительные функции, в основном настройки или улучшения качества жизни, которые помогают сделать приложение более удобным для пользователя.

Вот как это выглядит сейчас:

Как видите, различий в пользовательском интерфейсе не так много. Я добавил кнопку, которая ищетв listBox информацию, которую вы ввели в текстовые поля, переключатели и флажки, и если есть запись с теми же данными, она удаляет его.

Кнопки со стрелками (это текстура-заполнитель...) справа от listBox используются для перемещения элемента вверх и вниз по списку.

Что касается кода, вот что изменилось:

Во-первых, поскольку приложению необходимо формировать строки как для функций добавления, так и для удаления из текста, я написал метод, который возвращает сформированную строку, используя информацию из текстовых полей, переключателей и проверок. Это обеспечивает гораздо более чистый код, так как теперь вместо того, чтобы писать одно и то же дважды, я могу просто вызвать функцию:

Еще одним дополнением к методу вставки является if(!listBox1.Items.Contains(item), который предотвращает ввод пользователями дубликатов в listBox.

Логика кнопки «удалить-введено» проста: используя метод formString(), который мы написали ранее, мы воссоздаемстроку и ищем для него в listBox. Если он найден, он удаляется с помощью метода listBox1.Items.Remove.

Это код кнопки, которая позволяет перемещать элементы вверх по списку. В этом фрагменте кода используются новые методы: listBox1.Items.Insert(index, item), которые вставляют элемент в выбранную позицию (но не удаляют его из списка). ) и listBox1.SetSelected(index, value), который выбирает новый элемент, чтобы упростить повторное нажатие кнопки.

Наконец, listBox1.Items.RemoveAt(index) используется для удаления копии элемента, который мы только что переместили (который расположен на 2 позиции ниже текущего выбранного элемента).

Та же логика используется для кнопки перемещения элементов вниз по списку, за исключением того, что мы добавляем вместо вычитания и наоборот, потому что мы перемещаем элемент дальше вниз по списку.

Здесь — ссылка на исходный код. :)