DesignSurface 实现设计器问题?
用DesignSurface对象实现设计的两个问题.
DesignSurface surface = new DesignSurface();
surface.BeginLoad(typeof(System.Windows.Forms.Form));
Control view = (Control)surface.View;
view.Dock = DockStyle.Fill;
view.Parent = this.PelMain;
第一个是如何在宿主(view)中实现快捷菜单:如锁定、复制、删除、移到上层等。
IDesignerHost idh = (IDesignerHost)surface.GetService(typeof(IDesignerHost));
IComponentChangeService icc = (IComponentChangeService)idh.GetService(typeof(IComponentChangeService));
icc.ComponentRemoved += new ComponentEventHandler(icc_ComponentRemoved);
第二个:虽然可通过这个事件知道要移除的控件,但有些控件不让移除如何做。
谢谢!
DesignSurface surface = new DesignSurface();
surface.BeginLoad(typeof(System.Windows.Forms.Form));
Control view = (Control)surface.View;
view.Dock = DockStyle.Fill;
view.Parent = this.PelMain;
第一个是如何在宿主(view)中实现快捷菜单:如锁定、复制、删除、移到上层等。
IDesignerHost idh = (IDesignerHost)surface.GetService(typeof(IDesignerHost));
IComponentChangeService icc = (IComponentChangeService)idh.GetService(typeof(IComponentChangeService));
icc.ComponentRemoved += new ComponentEventHandler(icc_ComponentRemoved);
第二个:虽然可通过这个事件知道要移除的控件,但有些控件不让移除如何做。
谢谢!
...全文
相关推荐
用c# 实现设计器 DesignSurface
用c# 实现设计器 DesignSurface的实例 1
C#利用DesignSurface如何实现简单的窗体设计器
主要介绍了C#利用DesignSurface如何实现简单窗体设计器的相关资料,文中通过图文及示例代码介绍的很详细,对大家具有一定的参考价值,需要的朋友们下面来一起学习学习吧。
DesignSurface扩展类
DesignSurface扩展类 此类来自codeproject.com
winfrom自定义设计器源码
包含控件在运行态时,可以自由拖动,也可以8个方向都支持框选,选择部分控件进行上下左右移动,也可以使用键盘方向键进行移动,同时支持剪切,复制,粘贴和跨页粘贴,以上操作都支持一个或多个控件,也可以直接用鼠标拖拽进行移动。并且可以在属性网格中绑定自定义属性。
C# winform DesignSurface界面设计类。功能强大
C# .net framework 画面设计类,包括designsurfaceext_release.zip designsurfaceext_tinyformdesigner_sourcecode.zip pDesigner_designsurfaceext2_release.zip pFDesigner_sourcecode_and_demo.zip 篇文章描述一个增加了设计功能(TabOrder, UndoEngine,对齐线/网格对齐)的.net 2.0 中DesignSurface扩展类。这个类托管在DLL程序集中并准备在.net解决方案中使用。


