コード例 #1
0
        public void DisplayUpdate(Task task)
        {
            var taskEntry = Locate_task_entry(task.Id);

            if (!Try_update_existing())
            {
                Add_new();
            }
            Embelish_item(taskEntry.item, task);


            bool Try_update_existing()
            {
                if (taskEntry.item == null)
                {
                    return(false);
                }
                var currentItemIndex = _lstTasks.CurrentItemIndex;

                _lstTasks.RemoveAt(taskEntry.index);
                taskEntry.item = new Listbox.Item(Format_task_info(task));
                _lstTasks.Insert(taskEntry.index, taskEntry.item);
                _lstTasks.CurrentItemIndex = currentItemIndex;
                return(true);
            }

            void Add_new()
            {
                taskEntry.item             = _lstTasks.Add(Format_task_info(task));
                _lstTasks.CurrentItemIndex = _lstTasks.Items.Length - 1;
            }
        }