SachinSutar Ответов: 1

Как реализовать функцию отмены/повтора в приложении C# windows ?


привет..

Я хочу реализовать опцию отмены/повтора в приложении windows. Я создаю один элемент управления панели внутри этого добавления и удаления элементов управления во время выполнения, поэтому необходимо реализовать отмену/повтор в соответствии с добавленным или удаленным элементом управления. Если я удаляю какой-либо элемент управления, то с помощью операции отмены он должен быть воссоздан заново. Если у кого-то есть какие-то идеи, пожалуйста, поделитесь.
Заранее спасибо.

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

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

BillWoodruff

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

Как создать средство контроля ? Подключены ли они к событиям ?

SachinSutar

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

Ramza360

Попробуйте шаблон momento.

SachinSutar

я попробовал шаблон momento, но он не работает для добавления и удаления элементов управления.

1 Ответов

Рейтинг:
10

Suvendu Shekhar Giri

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

Я никогда не пытался сделать это, поэтому согласен, что могут быть и лучшие подходы, и вскоре мы можем увидеть некоторые хорошие предложения/решения.

А пока вы можете проверить следующую статью, если она имеет отношение к вашей проблеме-
Многоуровневая реализация отмены и повтора в C# - Часть I (использование единого объекта, представляющего подход изменения)[^]

Надеюсь, это поможет :)


SachinSutar

это выглядит как-то уместно, постараюсь. Спасибо.