Атрибут ReadOnlyAttribute должен обеспечивать поведение ReadOnly во время разработки.

аюсь узнать и понять, что и как C # делает вещи. Я исторически являюсь разработчиком Visual Foxpro (VFP) и несколько избалован годами визуального наследования, создавая собственный базовый уровень пользовательских элементов управления для использования во всем приложении.

Пытаясь изучить параллели в C #, я застрял на чем-то. Скажем, я получил свой собственный элемент управления меткой (элемент управления является подклассом метки), определенный с помощью шрифта «Arial», 10 баллов. Затем в любой форме, к которой я ее добавлю, Designer автоматически предварительно заполнит некоторые значения свойств, которые можно увидеть в части «Designer.cs» класса Form.

this.LabelHdr2.AutoSize = true;
this.LabelHdr2.Font = new System.Drawing.Font("Arial", 14F, System.Drawing.FontStyle.Bold);
this.LabelHdr2.ForeColor = System.Drawing.Color.Blue;
this.LabelHdr2.Location = new System.Drawing.Point(150, 65);
this.LabelHdr2.Name = "LabelHdr2";
this.LabelHdr2.Size = new System.Drawing.Size(158, 22);
this.LabelHdr2.TabIndex = 5;
this.LabelHdr2.Text = "LabelHdr2";

Я хочу, чтобы такие объекты, как «Шрифт», «Цвет», «Размер», «Авторазмер», не генерировались каждый раз, когда элемент управления помещался в форму. Если позже я решу изменить шрифт с «Arial» 10 на «Tahoma» 11, мне придется вернуться ко всем формам (и любым другим настраиваемым элементам управления) и отредактировать их для изменения.

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

В C # я должен вернуться и изменить каждую форму, чтобы она распознавалась новыми / обновленными значениями класса ...

Есть ли разумный способ избежать этого?

Ответы на вопрос(3)

Ваш ответ на вопрос