WinForms和ASP.NET自定义控件的通用代码
发布时间:2020-12-16 09:48:50 所属栏目:asp.Net 来源:网络整理
导读:假设我想开发一个自定义的纯图形控件,可以在WinForms和ASP.NET中使用.控件将根据某些属性设置和相关规则渲染图像. 显然,我可以将WinForms版本的代码复制到ASP.NET版本,但这意味着如果发现错误或更改规则,我有两个版本需要更新. 我可以编写一个核心类,需要各
假设我想开发一个自定义的纯图形控件,可以在WinForms和ASP.NET中使用.控件将根据某些属性设置和相关规则渲染图像.
显然,我可以将WinForms版本的代码复制到ASP.NET版本,但这意味着如果发现错误或更改规则,我有两个版本需要更新. 我可以编写一个核心类,需要各种属性和规则,WinForms和ASP.NET控件类将有一个指向这个核心类的属性,如: public class MyControlCore { // all properties and control rules public void PaintTo(Graphics graphics) { // rendering of control } } public class MyWinFormsControl: Control { public MyWinFormsControl(Control parent): base(parent) { CoreControl = new MyControlCore(); } public MyControlCore CoreControl { get; private set; } protected override OnPaint(object sender,PaintEventArgs e) { CoreControl.PaintTo(e.Graphics); } } 这将工作,但在属性网格中,我将获得一个属性CoreControl,包含自定义属性.有没有办法让属性网格显示MyControlCore属性,而不是具有子属性的CoreControl属性? 我想我也许可以用TypeDescriptionProvider和相关的类完成这个,但我不确定如何继续,如果它甚至会给我我想要的结果.我意识到这只会对设计师有所帮助,但那没关系. 解决方法
还有另一种选择.您可以使用
partial classes并将公共代码放在可以从两个项目链接到的单个文件中.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – Headerstyle-horizo??ntalalign无效
- asp.net-mvc – 用于ninject的ASP.NET MVC 3 Preview配置
- asp.net – 不允许使用用于访问路径’/test.html’的HTTP谓
- ASP.NET中读取XML文件信息的4种方法与示例代码
- asp.net – jQuery flot,来自SQL Server的Live plotting
- asp.net-mvc – 从DataAnnotations MVC 3向字段添加CSS类
- asp.net – 找不到可安装的ISAM. ‘/’应用程序中的服务器错
- asp.net-mvc – ASP.NET MVC的Content / Themes / base Dir
- 单元测试 – 自动混合和WebApi控制器
- asp.net-mvc – 如何使用Razor ASp.NET MVC连接HTML元素的i
推荐文章
站长推荐
- asp.net-mvc – asp.net mvc formcollection
- asp.net – 什么是aspnet_Users和aspnet_Members
- 自定义ASP.NET容器控件
- asp.net – 不允许从数据类型sql_variant到uniqu
- 计算ASP.net/c#中的会话数
- asp.net-mvc – 添加控制器模型类未显示
- asp.net – 在Appharbor上的Dotless
- asp.net – 如何隐藏web api 2中的元数据,odata
- 奇怪的#_ = _出现在response.redirect ASP.NET之
- asp.net-mvc – 静态文件请求正在ASP.NET MVC3中
热点阅读