Возврат формы к ее первоначальным значениям - PullRequest
0 голосов
/ 04 марта 2011

Поэтому я пытаюсь закодировать кнопку отмены, которая при нажатии на нее отменяет изменения, внесенные в форму, а затем закрывает ее. Одна идея, которая у меня возникла, заключалась в том, чтобы при загрузке формы объявить переменные для хранения исходных значений. Однако, поскольку это потребовало бы объявить их глобальными, я не хотел идти по этому пути. С учетом сказанного мой вопрос: каков наилучший способ отменить изменения в форме без объявления группы глобальных переменных.

EDIT:

Привет, ребята, спасибо за помощь, но после исследования я нашел ответ. Поскольку я хранил все контрольные значения формы в My.Settings, все, что мне нужно было сделать, это использовать

My.Settings.Save() 

на событие нажатия кнопки подтверждения и

My.Settings.Reload()
Me.Close()

при событии кнопки закрытия.

Ответы [ 4 ]

0 голосов
/ 05 марта 2011

Привет, ребята, спасибо за помощь, но после исследования я нашел ответ. Поскольку я хранил все контрольные значения формы в My.Settings, все, что мне нужно было сделать, это использовать

My.Settings.Save ()

на событие нажатия кнопки подтверждения и

My.Settings.Reload () Me.Close ()

в событии кнопки закрытия.

0 голосов
/ 04 марта 2011

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

0 голосов
/ 04 марта 2011

Одним из способов будет использование DataBindings между некоторым источником данных / объектом и вашей формой. Это позволит вам откатить потенциальные изменения, используя RejectChanges.

Вот дополнительная информация о DataSet.RejectChanges (в этом случае DataSet будет содержать ваши данные). http://msdn.microsoft.com/en-us/library/system.data.dataset.rejectchanges.aspx

0 голосов
/ 04 марта 2011

каков ваш общий дизайн формы?если вам нужно закрыть форму, вы не можете просто закрыть ее сразу, не сохраняя?

в случае, если у вас есть привязанные к данным элементы управления в форме, вы можете в конечном итоге сделать dataSource.RejectChanges ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...