C # отменить в приложении Windows формы - PullRequest
0 голосов
/ 16 декабря 2010

Я хочу знать, как проще всего отменить отмену в c #

У меня есть приложение Windows Form, в окне у меня есть форма с большим количеством текстового поля, поле выбора, флажок ...

после того, как пользователь заполнит и нажмет кнопку расчета, Затем программа рассчитывает все входные данные и возвращает значение на экран.

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

спасибо

Ответы [ 4 ]

2 голосов
/ 16 декабря 2010

Я не думаю, что есть какие-либо стандартные встроенные средства, но вы можете найти некоторые фреймворки, чтобы сделать это самостоятельно: Undo Framework с примером для форм: Примеры для Undo Framework

Существует также Monitored Undo Framework .

0 голосов
/ 16 декабря 2010

Простая реализация - это стек. Когда пользователь выполняет операции, поместите текущее значение в стек. Когда они «отменяются», выталкивают значения из стека.

0 голосов
/ 16 декабря 2010

Если вы используете Textbox.Вы можете отменить его на 1 шаг назад, используя метод `Undo () n

txtBoxResult.Undo();

0 голосов
/ 16 декабря 2010

Самый простой способ - просто сохранить где-нибудь введенный текст.

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

Хотя в текстовое поле встроена простая функция отмены, если это не работает для вас, вам просто нужно сохранять текст на каждомотменить точку.Это просто, просто и необходимо.

...