![](/img/trans.png)
[英]How to generate a project's settings designer file on build in Visual Studio
[英]How to make Designer in Visual Studio generate component using parameterize constructor
如何使Visual Studio使用带参数的构造函数生成代码?
例如:
添加ContextMenuStrip时,此代码行在MyForm.designer.cs中生成InitializeComponent()。
this.MyMenuStrip= new System.Windows.Forms.ContextMenuStrip(this.components);
使用dotPeek反映ContextMenuStrip不会给我任何有用的方式。
我想做一个自定义控件,当它放到任何System.Windows.Forms.Control时,设计器将调用参数构造函数,而不是无参数的控件。
在有关Windows Forms设计时功能的MSDN页面上 ,似乎出现了一种特殊情况,该组件的构造函数采用IContainer作为参数。
组件可以通过实现采用IContainer类型的单个参数的公共构造函数,使设计者知道其容器消失时希望得到通知,如以下代码段所示:
class ClockComponent : Component {
public ClockComponent(IContainer container) {
// Add object to container's list so that
// we get notified when the container goes away container.Add(this);
}
// ...
}
请注意,构造函数使用容器将自身添加为容器组件。 在存在此构造函数的情况下,设计人员将生成使用此构造函数的代码,并向其传递容器以供组件添加自身。
另外,请参阅MSDN上的.NET Framework可视设计器中的自定义代码生成 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.