|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,891
|
||||||||||||||||||||||||||
.NET 4.x Организация многократной отмены действий для своей таблицы03.12.2018, 18:27. Показов 1126. Ответов 15
Метки нет (Все метки)
Здравствуйте.
Есть файл:
В принципе чтобы сделать однократную кнопку назад тоесть отменить только последние действие то можно использовать дополнительную переменную скажем
Вроде у List<> тоже нет поддержки многократной отмены действий Добавлено через 13 минут Вообще хоть массив и двумерный но по факту многократное отмена нужна для 2 значения элементов например матрица в программе будет такой:
ID выбирается через радиокнопки! Так что и многократное отмена нужна только для I а не для все матрицы так как пользователь не может редактировать сразу всю матрицу он может менять только ID1 или ID2 или ID3... и так далее.
0
|
||||||||||||||||||||||||||
| 03.12.2018, 18:27 | |
|
Ответы с готовыми решениями:
15
Дописать код для кнопки отмены действий пользователя
Кнопка отмены действий другой кнопки |
|
Администратор
|
||
| 03.12.2018, 21:24 | ||
|
Alexandr_7, заведи Stack<T> с элементом где хранятся индексы массива и старое значение. Перед изменением значения заносим на стек старое значение. При отмене забираем из стека значение и меняем массив.
0
|
||
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,891
|
|
| 03.12.2018, 22:06 [ТС] | |
|
0
|
|
|
Администратор
|
|||||||||||
| 03.12.2018, 22:23 | |||||||||||
|
Alexandr_7, пишем вспомогательный класс
0
|
|||||||||||
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,891
|
||||||||||||||||
| 03.12.2018, 23:51 [ТС] | ||||||||||||||||
|
Получается array нужен только для начального присваение значений?
Добавлено через 20 минут Подождите а как undo отменяет действия? Последние действие что ли отменяет. Я же говорю что отмену нужно делать для каждого элемента своя отмена? Я видать сглупил когда написал что отмену нужно делать для 1 вхождения. Короче вот как изменяю я данные массива:
2 Вхождение это (int)tb.Tag - текстовое поле в котором я меняю значение. То есть количество текстовых полей равно количестеву y в двухмерном массиве Ну короче их 8 штук для файла что я привел в примере. Когда создавал тему расчитывал на отмену для каждого отдельно. Хотя щас думаю а удобно ли это. Может общую использовать? В примере я так понял общая для всех. Но даже если и делать общую то у меня в 1 вхождении PE.Settings.SelectHousePalette То есть общую надо делать только для (int)tb.Tag а 1 вхождение нужно указывать. Вызов отмены должна быть приблизительно такой:
0
|
||||||||||||||||
|
Администратор
|
|
| 03.12.2018, 23:55 | |
|
Alexandr_7, идею я продменстрировал. Если не подходит, то перепиши как требуется.
0
|
|
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,891
|
||||||
| 04.12.2018, 13:40 [ТС] | ||||||
|
Ну как устроена работа слегка понял но чет не получается переделать под сохранение предыдущих действий только для 1 вхождения. Я даже не могу понять как в таком случае должно быть устроена сохранение и возвращение чтобы действовало только для y точнее чтобы указывать x для назад
Добавлено через 10 минут Вроде стек не подойдет. Он подходит если делать общую отмену в моем же случае нужно восстанавливать объект указанный из ячеек но x тоесть общий общию историю но тольбко для y значений или проще говоря для 2го вхождения Добавлено через 35 секунд И кстати. Ошибка:
И так. Извиняюсь за создание пустой темы. Ибо допер только щас. Я же изменения дело через textBox А У textBox есть метод undo который к слову должен работать многократно. Ну так в принципе можно и через textBox и делать отмену. Единственный вопрос при срабатывании undo будет срабатывать событие TextChanged
0
|
||||||
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,891
|
||||||
| 08.12.2018, 21:32 [ТС] | ||||||
|
И так не хочу создовать новой темы. Вот код
1. Она отменяет только последние действие 2. Иногда она вовсе не срабатывает. Добавлено через 5 часов 6 минут Может кто помочь как сделать возможность под textbox многократной отмены. Ну также как это в c# например при нажатие Ctrl Z
0
|
||||||
|
Администратор
|
|
| 08.12.2018, 21:38 | |
|
Alexandr_7, мне непонятно что и как тебе нужно отменять. Если ты объяснишь это на пальцах, то постараюсь помочь.
0
|
|
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,891
|
||
| 08.12.2018, 22:06 [ТС] | ||
|
0
|
||
|
Администратор
|
|||
| 08.12.2018, 22:11 | |||
|
Добавлено через 55 секунд
0
|
|||
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,891
|
|||
| 08.12.2018, 22:38 [ТС] | |||
|
Добавлено через 2 минуты
0
|
|||
|
Администратор
|
||
| 08.12.2018, 23:00 | ||
|
0
|
||
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,891
|
||
| 08.12.2018, 23:01 [ТС] | ||
|
0
|
||
|
Администратор
|
||
| 08.12.2018, 23:31 | ||
|
Alexandr_7, знания ассемлера тоже не требуются
Добавлено через 27 минут
0
|
||
|
87 / 22 / 6
Регистрация: 29.12.2015
Сообщений: 1,891
|
|
| 08.12.2018, 23:39 [ТС] | |
|
Да отмена нужна чтобы можно было востановить удаленные данные! Например ввел он не тот цвет который нужно. И вот с помощью кнопки востановить тот что был.
То что нельзя вводить запрещенные символы это то чтобы не ввели символы которые не относятся к цветовой палитре.
0
|
|
| 08.12.2018, 23:39 | |
|
Помогаю со студенческими работами здесь
16
HotKeyManager - перехват клавиш без отмены их действий Организация в БД таблицы характеристик для товаров C# WPF Организация Пошаговых ДЕйствий Организация своей VPN сети с обходом Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|