| 今天看见一个网友的留言: 有一个问题请教一下兄台,对于继承自microsoft的.net framework中现有的组件,怎么将一些属性屏蔽掉,就是新的组件不提供继承来的属性,比如继承Panel新编写EPanel,对于panel的属性的BackColor怎么屏蔽掉?? 这个问题解决方法如下: 第一步:在你的控件类中定义设计时中提供服务的类 [Designer(typeof (MSPlus.Web.UI.Design.WebControls.ButtonDesigner))]
[Description(
"
MSPlus WebControl Button
"
)] [Designer(
typeof
(MSPlus.Web.UI.Design.WebControls.ButtonDesigner))]
public
sealed
class
Button: MSPlusWebControl, IPostBackEventHandler![]()
{ }
第二步:新增一个设计时服务类,这个类继承 System.Web.UI.Design.ControlDesigner 第三步:重写PostFilterProperties()方法, 允许设计器从通过 TypeDescriptor 公开的属性集中更改或移除项。
/**/
/** * 命名空间: MSPlus.Web.UI.Design.WebControls * 类: ButtonDesigner * * 作者: Mack.Z * 完成日期: 2003-12-21 * 版权信息: MSLULU (2000.10.10) **/
![]()
using
System;
using
System.ComponentModel;
using
System.ComponentModel.Design;
using
System.Collections;![]()
namespace
MSPlus.Web.UI.Design.WebControls![]()
{![]() /**//// <summary> /// ButtonDesigner 的摘要说明。 /// </summary> public class ButtonDesigner:System.Web.UI.Design.ControlDesigner![]() { public ButtonDesigner()![]() { // // TODO: 在此处添加构造函数逻辑 // }![]() protected override void PostFilterProperties( IDictionary Properties )![]() { Properties.Remove( "Height" ); Properties.Remove( "BackColor" ); Properties.Remove( "BorderWidth" ); Properties.Remove( "Font" ); Properties.Remove( "ForeColor" ); Properties.Remove( "TabIndex" ); Properties.Remove( "ToolTip" ); Properties.Remove( "Enabled" ); Properties.Remove( "EnableViewState" ); }![]() } }
如果大家有控件开发上的问题,也可以在我的主页上留言. | |||
| |||
屏蔽.NET自定义开发组件中的属性
最新推荐文章于 2024-10-11 11:12:53 发布
博客涉及.NET相关内容,包含如class、button等元素,与Microsoft相关。虽未给出具体内容,但推测围绕.NET开发展开。


}
* 命名空间: MSPlus.Web.UI.Design.WebControls
132

被折叠的 条评论
为什么被折叠?



