屏蔽.NET自定义开发组件中的属性 (MSPLUS原创)

今天看见一个网友的留言:
有一个问题请教一下兄台,对于继承自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" );
        }


    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值