Скажем, моя заявка имеет около 300 стандартных элементов управления в нескольких формах. Когда-нибудь выяснится, что было бы неплохо дать всем элементам управления дополнительные элементы.Продлить все элементы управления приложения поздно, но легко
Что нужно сделать? Мое мышление:
Выведите каждый тип Control
от базового класса, как это:
public partial class MyButton : Button, MyInterface
{
...
}
public partial class MyTextBox : TextBox, MyInterface
{
...
}
public interface MyInterface
{
// Additional members
...
}
Это означало бы, коснувшись каждый Control
, чтобы изменить его от
private System.Windows.Forms.Button myButton;
private System.Windows.Forms.TextBox myTextBox;
в
private MyButton myButton;
private MyTextBox myTextBox;
и от
this.myButton = new System.Windows.Forms.Button();
this.myTextBox = new System.Windows.Forms.TextBox();
в
this.myButton = new MyButton();
this.myTextBox = new MyTextBox();
Мой вопрос: Есть ли более простой способ? Может быть, если возможно, заменив класс Control
классом, дополнительно полученным от MyInterface
? (Control.Tag
недвижимость не является вариантом)
Какую собственность вы пытаетесь добавить в элемент управления? – Dispersia
@Dispersia: e. г. a Список –
Pollitzer
Хорошо, но зачем вы хотите иметь эти элементы управления? Элементы управления предназначены для ввода пользователем, они не должны содержать данные. – Dispersia