baseform是一个只有一个Lable控件和两个TEXTBOX控件的FORM,
FORM1、FORM2、FORM3、...继承自baseform的FORM,
心想这样FORM1、FORM2、FORM3、...就可以拥有baseform的控件和后台代码了,
大大减少了重复的代码。
没想到运行时老是出现错误:“baseform”不包含“txtKehu_TextChanged”的定义,并且找不到可接受类型为“Qerp.baseform”的第一个参数的扩展方法“txtKehu_TextChanged”(是否缺少 using 指令或程序集引用?)
可是baseform确实包含如下代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;namespace Erp
{
    public partial class baseform : Form
    {
        public baseform()
        {
            InitializeComponent();
        }        protected void txtKehu_click(object sender, EventArgs e)
        {
           ...
        }
    }
}
这是为何?而且每个继承baseform的FORM都无法显示设计界面,均提示:
文件中的类都不能进行设计,因此未能为该文件显示设计器。设计器检查出文件中有以下类: FORM1 --- 无法加载基类“Erp.baseform”。请确保已引用该程序集并已生成所有项目。 
这又是为何?请大家指点!

解决方案 »

  1.   

    txtKehu_TextChanged这个控件是不是不存在啊。你好好看看,代码中是否还有这个玩意,整个项目中搜索一下,看看它有什么问题。从这下手
      

  2.   

    别用窗体的继承。不仅如此,继承的东西最好少用,避免脆弱基类的问题,多用合成。txtKehu_TextChanged这个在你代码中确实没有啊。
      

  3.   

    baseform”不包含“txtKehu_TextChanged”的定义,到baseForm.Designer.cs 文件里找 下 你自己设置过txtKehu的TextChanged事件过,但是你只删除cs文件里的这段代码private void txtKehu_TextChanged(object sender,EventArgs e)
    {}
      

  4.   

    到baseForm.Designer.cs 文件里找 下  搜索: txtKehu_TextChanged