1
3
(1) 若要控制组件只能添加到窗体中,请使用
组件是从窗体本身中创建的。如果不定义默认构造函数,则:
不会编译。
问题有两方面:
(2) 正如Neil指出的,将组件放到表单中调用默认构造函数,它不传递任何参数,当然,组件的任何属性(如站点或容器)都不会被填充。
(1) 通过实现一个构造函数
(2) 通过实施
来自
MSDN Magazine
作者:迈克尔·温哈特和克里斯·塞尔斯。
这些现在是.chm帮助文件。您需要在文件的属性页中取消阻止,以便在下载后能够读取内容。 |
2
1
我认为不可能确切地定义包含类可以包含在其中的内容。我当然从来没有见过这样一个实例,在另一个实例中,甚至在WinForms中,我在设置一种类型的属性时遇到错误(甚至是警告)。 您可以做的事情是为表单定义一个表单派生的祖先,它包含对(内部可见的)FooComponent的引用,在实例化时初始化一个,并附加处理程序。为了获得最好的结果,它应该是无参数的,并且是唯一的构造函数重载,因此它构成了用户提出的任何构造函数的基础。然后,将其设置为一个内部规则,表单从您的祖先类派生而不是直接从表单派生(当代码提交到源代码管理时,您可以使用类似FxCop或类似的代码检查工具来强制执行此操作)。您的用户现在在他们创建的每个表单中都有一个FooComponent,不能创建自己的(它是内部的,应该与您的表单祖先在另一个项目中)并且不必做任何事情,只需从新类派生,就可以使他们的表单按照您想要的方式运行。 |
3
1
你要求的太多了。一般来说,让组件知道它们被丢弃的形式是相当困难的。 This answer 可以帮助您实现事件处理程序。您需要实现ISupportInitialize才能获得EndInit()调用来设置事件处理程序。 防止倍数也是相当困难的,我只能想一个定制设计师,可以提前介入,以防止第二个被添加。 |
Robert King · Unity C#语法问题-转换位置 1 年前 |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
i_sniff_ket · 在unity之外使用unity类 2 年前 |