服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

屏蔽.net自定义开发组件中的属性


  有一个问题请教一下兄台,对于继承自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
  {
  /**////
  /// buttondesigner 的摘要说明。
  ///

  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" );
  }
  
  }
  }
  
  如果大家有控件开发上的问题,也可以在我的主页上留言

扫描关注微信公众号