2016-10-28 3 views
0

Итак, у меня есть текстовое поле, которое я хочу сбросить до его инициализированных свойств (шрифт, цвет, содержание текста и т. Д.).Сбросить объекты формы по умолчанию

Есть ли способ вызова, который возвращает его свойствам при инициализации?

+0

текстовое поле где? HTML? WinForms? WPF? – trashr0x

+0

@ trashr0x Приложение Windows Forms – User

+0

Определите, что вы подразумеваете под «инициализацией». Во многих свойствах есть метод Reset ** PropertyName **, который можно вызвать, чтобы вернуть свои значения обратно в то, что было, когда был создан элемент управления. Эти методы позволяют сбрасывать свойство в конструкторе через PropertyGrid. – TnTinMn

ответ

2

Используйте свойство Control.Tag, оно позволяет хранить или извлекать данные на элементе управления.

Любой тип, полученный из класса Object, может быть присвоен этой собственности. Если свойство Tag установлено через конструктор Windows Forms, может быть назначен только текст.

Вы могли бы как таковой создать, например, ваши собственные TextBoxMetadata класса, содержащий свойства, как BackColor, Text, и т.д., и экономия, что в .Tag собственности вашего textBox. Вы можете сделать что-то вроде:

var defaultTextboxData = new TextBoxMetadata(); 
defaultTextboxData.Text = "Default Text"; 
defaultTextboxData.BackColor = Color.Green; 
// ...etc 
myTextBox.Tag = defaultTextboxData; 

После сброса вы можете получить доступ к свойствам вашего TextBoxMetadata, например, из myTextBox.Tag и использовать их для восстановления значений свойств TextBox.

Смежные вопросы