2009-01-14 29 views
1

我有一个基本的形式。我将Ok和Cancel按钮放在窗体的右下角,并将它们固定在底部和右侧。Visual继承在VS2008中工作吗?

继承的表单不遵守Ok和Cancel按钮的锚定属性。以下是重新制作的确切步骤。

1-使用位于底部/右侧的按钮创建基本窗体。将它锚定在Bottom,Right。 3-创建一个新的表单,它从步骤1中创建的基本表单继承。 4-增加(在设计器中)第二个表单的高度或宽度。你会看到这个按钮没有完全移动,因此羞辱了它的锚定属性。

我做错了什么,或者VS2008是否不尊重基础窗体上控件的锚定属性?

谢谢。

回答

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

它适合我。

你是如何创建继承形式的?我去

  1. 构建
  2. 新增 - > Windows窗体
  3. 选择Windows窗体
  4. 选择继承的窗体
  5. 选择原始形式

按钮移动预期。

2

请注意,一些非常顽皮的事情正在进行。基类的私有字段的属性正在改变(位置属性),完全违反了.NET可访问性规则。这可以起到一定的作用,但是一旦你运行你的项目就会用尽气体。修复很简单,将按钮的Modifiers属性从Private更改为Protected。