阅读 Nikita 的评论后,我找到了有关为控件创建自定义设计器的 Microsoft 支持页面。
如果您对设计时间支持的工作方式感兴趣,请参考以下报价
但是,.NET Framework 中组件的设计时支持并不是由 Microsoft Visual Studio .NET 等设计工具专门定义的。相反,开发环境支持设计时行为的扩展和定义,例如为组件提供设计时支持的设计器。对可扩展和可自定义的设计模式行为的支持是 .NET Framework 的一个集成部分。Visual Studio .NET 等工具还提供了一系列设计时服务供设计人员使用。
如果您想继续阅读和查看 Microsoft 的示例,请访问此网页
增强设计时支持
当你刚开始学习它时,一切似乎都很复杂,这里有一个 UserControl 的工作代码示例,它上面有一个 PictureBox 和一个 Label。这两个控件都可以在设计时进行编辑,即。调整大小和重新定位,并在单击它们时显示它们的所有事件和属性。
您将需要添加对 System.Design 的引用,只有在您的目标不是“.Net Client Profile”时才能引用它。您可以在 Proprieties/Application/TargetFramework 中更改您的目标配置文件。
将用户控件添加到您的项目并添加一个类来处理它的设计器。双击用户控件,然后从工具栏中添加标签和图片框。
接下来打开你创建的类作为它的设计师。添加这个...
using System.Windows.Forms;
using System.Windows.Forms.Design;
public override void Initialize(IComponent component)
{
base.Initialize(component);
if (this.Control is MyUserControl) // replace this with your usercontrol type
{
// cast this.Control to you type of usercontrol to get at it's
// controls easier
var i = this.Control as MyUserControl; // replace ***
this.EnableDesignMode(i.label1, "unique_name1");
this.EnableDesignMode(i.pictureBox1, "unique_name2");
}
}