在继承的UserControl中通过Designer编辑DataGridView

时间:2010-11-12 11:58:19

标签: c# .net winforms windows-forms-designer

我使用Button,TextBox和DataGridView创建了一个UserControl。 我将所有控件的修饰符设置为public。

现在,如果我从UserControl继承,我可以通过Designer修改TextBox和Button(移动,更改属性),就像我预期的那样。但是对于DataGridView,所有属性都被禁用。

有什么理由,为什么我不能通过继承的UserControl中的Designer修改DataGridView?

1 个答案:

答案 0 :(得分:4)

在此处找到解决方案:http://adamhouldsworth.blogspot.com/2010/02/winforms-visual-inheritance-limitations.html

简而言之:

  1. 添加对System.Design的引用
  2. 使用以下代码继承DataGridView:

    [Designer(typeof(ControlDesigner))]
    public class InheritableDataGridView : DataGridView
    {
        public InheritableDataGridView()
            : base()
        { }
    }
    
  3. ???
  4. 利润!!!