Visual Inheritance在VS2008中是否有效?

时间:2009-01-14 02:11:24

标签: winforms visual-studio-2008 visual-inheritance

我有一个基本表格。我在表单的右下角放置了“确定”和“取消”按钮,并将它们固定在“底部和右侧”。

继承的表单不支持“确定”和“取消”按钮的锚属性。以下是重现的确切步骤。

1-创建一个基本表单,其中一个按钮位于底部/右侧。将它锚定在Bottom,Right。 3-创建一个继承自步骤1中创建的基本表单的新表单。 4-增加(在设计者中)第二种形式的高度或宽度。 5-你会看到按钮没有完全移动,从而损害了它的锚属性。

我做错了什么,或者VS2008根本不遵守基本表单上控件的锚属性?

感谢。

3 个答案:

答案 0 :(得分:2)

嗯跟着你的步骤,完美地工作......

确保继承的表单不会覆盖设计器中的某些属性... 我的“继承形式”只有这个:

private void InitializeComponent()
{
    this.SuspendLayout();
    // 
    // Form2
    // 
    this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
    this.ClientSize = new System.Drawing.Size(296, 154);
    this.Name = "Form2";
    this.ResumeLayout(false);

}

答案 1 :(得分:2)

请注意一些非常顽皮的事情。基类的私有字段的属性正在发生变化(Location属性),完全违反了.NET可访问性规则。这可以解决问题,但是一旦你运行你的项目,就会耗尽汽油。修复很简单,将按钮的Modifiers属性从Private更改为Protected。

答案 2 :(得分:1)

它对我有用。

您是如何创建继承表单的?我去了

  1. 构建
  2. 添加新内容 - > Windows窗体
  3. 选择Windows窗体
  4. 选择继承的表单
  5. 选择原始表单
  6. 按钮按预期移动。