泛型基类用于WinForm UserControl。

16 浏览
0 Comments

泛型基类用于WinForm UserControl。

我为WinForm UserControl创建了一个通用的基类:

public partial class BaseUserControl : UserControl
{
    public virtual void MyMethod() 
    { 
        // 这里是一些基本内容
    }
}

以及基于该基类的UserControl:

public partial class MyControl : BaseUserControl
{
    public override void MyMethod() 
    { 
        // 这里是一些具体内容
        base.MyMethod();
    }
}

它能正常工作,但是MyControl无法在VisualStudio Designer中进行编辑,因为它无法加载基类。

我尝试定义另一个非泛型的BaseUserControl类,希望能够加载它,但这个技巧似乎不起作用。

我已经找到了一个解决方法:定义一个接口IMyInterface,然后将我的控件创建为:

public partial class MyControl : UserControl, IMyInterface

但是我失去了我的基类虚拟方法(这不是个大问题,但还是有些遗憾)。

有没有办法创建一个可在VisualStudio Designer中编辑的基于泛型的UserControl的基类?

0