Есть пользовательский контрол. по большой части он делегирует поведение DataGridView. Наружу торчит свойство Columns. Выглядит все это приблизительно так
public partial class ControlList : UserControl
{
[
Editor( typeof(System.ComponentModel.Design.DesignerCollection), typeof(System.Drawing.Design.UITypeEditor)),
DesignerSerializationVisibility(DesignerSerializationVisibility.Content),
MergableProperty(false)
]
public DataGridViewColumnCollection Columns { get { return datagGridView.Columns; } }
}
Все бы хорошо, но если вызвать редактор Columns, а в нем добавить столбец, то в дизайнере мы увидим что-то типа такого:
this.dataGridViewColumnId = new System.Windows.Forms.DataGridViewColumn();
И в итоге получим ошибку исполнения. Т.к. нужно указать тип. Datagridview для этого вызывает отдельное окно, а тут оно не вызывается и приходится лезть в код. Как можно обойтись без последнего и делать все в дизайнере.