发布继承表单属性和方法

时间:2012-06-12 13:32:49

标签: c# inheritance

我正在尝试构建一个Base自定义表单,然后让我的应用程序继承基本表单中的属性和方法。我相信我已经正确设置了表单,但每次我打开使用VS 2010继承基本表单的新表单时,VS崩溃,我必须重新启动IDE。这是两种形式的代码;

基本自定义表单;

namespace TGBSoftware
{
public partial class BaseForm : Form
{
    public int gnTaxYear { get; set; }
    public string gsTableName { get; set; }
    public string gsUserId { get; set; }

    public BaseForm()
    {
        InitializeComponent();
    }
}
}

继承基本表单的表单;

namespace TGBSoftware.CompuTax.Forms
{
public partial class RealEstate : BaseForm
{
    public RealEstate()
    {
        InitializeComponent();
    }
}
}

4 个答案:

答案 0 :(得分:1)

我认为你不能致电InitializeComponent(); 两种形式。请尝试使用顶级表单或使用base.InitializeComponent();

答案 1 :(得分:0)

您可以做的一件事是在启用了日志记录的情况下运行visual studio:

http://msdn.microsoft.com/en-us/library/ms241272.aspx

然后查看错误的堆栈跟踪。很可能缺少一个dll引用,或者其中一个表单中有一段代码需要被包围:if(!DesignMode)...

答案 2 :(得分:0)

你说“我相信我已经正确设置了表格”。

为什么你不再重新安装它?

答案 3 :(得分:0)

感谢大家的帮助,但疯狂的解决方案是删除项目并启动一个新项目。从SafeMode开始并且使用日志记录确实没有提供任何见解。

jrb - 无论是否使用InitializeComponent(),我都尝试过这两种方法。在新项目中,两种形式都有此设置,并且工作正常。我将看到当我使用导航按钮和内容创建表单时会发生什么。

再次感谢。祝你度过愉快的一周。