参考A VS.Net-like ToolBox
http://www.codeproject.com/cs/miscctrl/toolbox.aspYet Another VS.NET-like ToolBox - C# Controls
http://www.codeproject.com/cs/miscctrl/yatoolbox.asp
http://www.codeproject.com/cs/miscctrl/toolbox.aspYet Another VS.NET-like ToolBox - C# Controls
http://www.codeproject.com/cs/miscctrl/yatoolbox.asp
那个处于设计状态的窗口,其实它就是一个form只不过限定了一些属性,比如无法最大最小化,无法直接调整大小(注意,它大小的调整是由外面的那个框框来完成的),
所谓控件的拖放,只不过是由一个橡皮矩形拉出一个框,然后就以这个矩形为bound,生成这样大小的一个控件,当然它也是设计时的,比如按钮是不能按动的。
所以,要实现的关键是设计时控件外面包着的那个东西,我不知道怎么叫它,反正我是当它是控件来写的。
我以前写过一个这样的东西,左边一个工具箱,中间其实就是个MDI作为设计窗体的容器,右面是一个propertyGrid绑定属性,咋一看还有点象个visual的东西,其实很简陋。真正的拖放控件的,我好像见过一个开源的项目,叫form++,是深圳一个公司用MFC作的,它的控件真是通过drag过来的,你可以搜搜。