我有一个现有的库(不是Winforms应用程序),它为一些真正的Windows应用程序提供了一些Winforms.在这个库中,我想创建一个用户控件来将一些控件组合在一起.为此,我右键单击"添加","用户控制"并将一些控件拖到新的"用户控件"上.
到现在为止还挺好.用户控件甚至具有必需的用户控件图标.但是将新的用户控件从解决方案资源管理器拖动到新的空白Winform不起作用(我得到一个带有直线的圆圈),并将其拖到工具箱中也不起作用(即使我得到一个+号)当我把它拖到工具箱上时).
是否有某种XML魔法或其他我不想做的工作?
注意:我在Visual Studio 2008中遇到了一些问题,我通过遵循可在此处找到的解决方法设法修复了这些问题.我现在能够通过简单地重建项目来将用户控件添加到我现有的项目到工具箱中.
我想在自定义控件(而不是用户控件)中实现AutoSize属性,以使其行为类似于在设计模式下实现AutoSize(ala CheckBox)的其他标准.NET WinForms控件。
我已经设置了属性,但是控件在设计模式下的行为方式困扰着我。它仍然可以调整大小,这没有意义,因为视觉调整大小没有体现在我实现的AutoSize和Size属性中。
当AutoSize为true时,标准.NET控件不允许在设计模式下调整大小(甚至显示调整大小的句柄)。我希望我的控件以相同的方式运行。
编辑:我可以使用SetBoundsCore()重写来工作,但是当AutoSize设置为true时,它在视觉上没有限制调整大小,它具有相同的效果;该功能是等效的,但感觉不自然。
protected override void SetBoundsCore(int x, int y, int width, int height, BoundsSpecified specified)
{
if (!this.auto_size)
this.size = new Size(width, height);
base.SetBoundsCore(x, y, this.size.Width, this.size.Height, specified);
}
Run Code Online (Sandbox Code Playgroud)
关于以标准方式执行此操作的任何想法?