设计器必须创建类型“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()
{
}
}
...全文
815 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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

110,549

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧