1

我有一个基本形式。我将“确定”和“取消”按钮放在表单的右下方,并将它们锚定在底部和右侧。

继承的表单不支持 Ok 和 Cancel 按钮的锚属性。以下是复制的确切步骤。

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

我做错了什么,还是 VS2008 根本不尊重基本表单上控件的锚属性?

谢谢。

4

3 回答 3

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);

}
于 2009-01-14T02:48:53.833 回答
2

一定要观察一些非常顽皮的事情正在发生。基类的私有字段的属性正在发生变化(Location 属性),这完全违反了 .NET 可访问性规则。这在一定程度上是可行的,但是一旦你运行你的项目就会耗尽气体。修复很简单,将按钮的修饰符属性从私有更改为受保护。

于 2009-01-14T04:53:34.143 回答
1

这个对我有用。

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

  1. 建造
  2. 添加新 -> Windows 窗体
  3. 选择 Windows 窗体
  4. 选择继承的表单
  5. 选择原始表格

按钮按预期移动。

于 2009-01-14T02:23:06.083 回答