2012-07-20 6 views
0

Я создал свои собственные пользовательские элементы управления, которые наследуют от стандартных элементов управления .net (например, MyTextBox: TextBox). В MyTextBox есть некоторая пользовательская логика, а также задаются некоторые свойства стиля (например, цвет). Я создаю проект, который содержит эти элементы управления, и они добавляются в мою панель инструментов. Затем я перетаскиваю их в конструктор окон. Проблема в том, что когда я перетаскиваю их, разработчик форм Windows автоматически включает определение стиля для элемента управления, который я тащил. НапримерВнешний вид пользовательского контроля

this.myTextBox1.BackColor = System.Drawing.Color.Gray;

Теперь, если в дальнейшем в процессе развития я решил изменить цвет для всех экземпляра MyTextBox в растворе от серого до белого, я не могу просто пойти в код управления MyTextBox, изменить его там и перестраивать. Это изменение не будет применяться к существующим текстовым полям, так как это свойство будет переопределено в дизайнере форм! Каков наилучший подход для обработки таких случаев?

ответ

2

вы можете управлять генерации кода дизайнера с помощью атрибута ... http://msdn.microsoft.com/en-us/library/system.componentmodel.designerserializationvisibilityattribute.aspx

+0

Спасибо! Чтобы использовать это, мне пришлось затенять свойство BackColor новым ключевым словом, а затем применить атрибут. Это путь? – user1365247

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