1

我已将 VB6 应用程序转换为 VB.NET,因为最终我想将其转换为 C#。但是我对继承 BaseControlArray 的 ShapeArray 有疑问。这些是我的问题:

我在 VB .Net 解决方案中创建了一个 RectangleShapeArray 类。然后我转换为 C#。

但是当调用 RectangleShapeArray.Load(1) 时,它说矩形形状数组没有要克隆的现有形状,我应该在设计时向它添加一个形状。

但我找不到在设计时向 RectangleShapeArray 添加控件的方法。有没有办法在设计时向 RectangleShapeArray 添加控件?

4

1 回答 1

2

但我找不到在设计时向 RectangleShapeArray 添加控件的方法。有没有办法在设计时向 RectangleShapeArray 添加控件?

不。.NET Windows 窗体设计器不支持控件数组,这对于以前的 VB6 程序员来说是一个巨大的失望,当他们第一次意识到这一点时。

但是,如果您真的考虑一下,设计器中的控件数组无论如何都没有多大意义:它们几乎总是动态的,并且根据运行时约束使用不同数量的控件。因此,在编译时设计它们没有多大意义。

完全避免 .NET 中的控制数组类,它们不再是必需的。如果您有可变数量的控件,请改用普通的控件列表/数组(VB6 不支持这一点,因为 VB6 实现事件的方式)。在表单设计器中,只创建静态控件,而不是控件数组。

于 2009-08-25T12:13:12.127 回答