У меня есть настраиваемый элемент управления LayoutPanel, который содержит дочерние элементы управления. Я хочу, чтобы все дочерние элементы управления содержали определенное свойство из контейнера Parent панели макета. Я пытался использовать следующий код для создания различных дочерних элементов управления, которые обеспечат хранение имущества ChartPropertyOwner, опираясь на наследовании считать тип (метки, кнопки, стандартные формы элементов управления)Наследование элементов управления Windows Forms в C#
public partial class ManipControl : System.Windows.Forms.Control {
public ChartPropertySet ChartPropertyOwner { get; set; }
public ManipControl(ChartPropertySet _cps) {
ChartPropertyOwner = _cps;
InitializeComponent();
}
}
инициализирует с следующее утверждение:
Button btnManipDel= new ManipControl(_cps);
Я получаю сообщение об ошибке:
не может неявно преобразовать тип 'ManipControl' в «System.Windows.Forms.Button '
Почему неявное преобразование завершается неудачно и как это можно решить?
кнопка кнопка и не имеет никакого отношения к ManipControl. Если вы хотите, чтобы элемент управления Button отображал ваши свойства, имплицируйте интерфейс IMyInterface и наследуйте от Button. public class MyButton: Button, IMyInterface {// Делаем бизнес} – Lloyd
Я не думаю, что это хорошая идея создать элемент управления без открытого конструктора без параметров. – ja72
Можете ли вы рассказать об этом @ ja72? – sammarcow