导航
  • 主页
  • C#综合技术
  • C#互联网桌面应用
  • AppLauncher
  • WinForm
  • WPF
  • 问答

设计器必须创建类型“MyApp.BaseForm”的实例,但该类型已声明为抽象,因此设计器无法创建该类型的实例

pxboy 2003-10-31 01:50:10
当我选择TestForm.cs[设计]时,可以编译,但无法进行可视化编辑,出现以下错误:

设计器必须创建类型“MyApp.BaseForm”的实例,但该类型已声明为抽象,因此设计器无法创建该类型的实例。


请问该如何办才可以进行可视化编辑呢?源程序大致如下:

namespace MyApp
{
/// <summary>
/// BaseForm 的摘要说明。
/// </summary>
public abstract class BaseForm : System.Windows.Forms.Form
{
public BaseForm()
{
}
public abstract void init();
}
}

namespace MyApp.Forms
{
public class TestForm : BaseForm
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;

public TestForm()
{
InitializeComponent();
}
public override void init()
{
}
}
...全文
322 点赞 收藏 10
写回复
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
pxboy 2003-11-03
is well!
回复
saucer 2003-11-03
it is a known bug in VS.NET designer, try the following

#if DEBUG
public class BaseForm
#else
public abstract class BaseForm
#endif
: System.Windows.Forms.Form
{
...




回复
pxboy 2003-10-31
我想,是不是因为在构造TestForm的时候调用了BaseForm的构造方法,有没有办法构造TestForm的时候不调用BaseForm的构造方法?语法是什么?
回复
pxboy 2003-10-31
如果BaseForm不可以那是因为它是abstract的,但TestForm不是abstract类啊
回复
wolve 2003-10-31
没办法,因为要使用设计器,你的类只能是可实例化的,但你申明了abstract
,当然不行。
回复
pxboy 2003-10-31
请大家友情up
回复
pxboy 2003-10-31
to:atlove(星)
去掉abstract就可以,但我得用abstract啊
回复
pxboy 2003-10-31
我需要abstract,为什么不可以abstract?.net开发框架怎么连这个都不能支持啊?
回复
atlove 2003-10-31
abstract 去掉,就可以了吗
回复
dreammaster 2003-10-31
不要将BaseForm声明成abstract
回复
发动态
发帖子
C#
创建于2007-09-28

10.4w+

社区成员

.NET技术 C#
申请成为版主
社区公告

全世界最好的语言,没有之一.