惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
S
Securelist
MyScale Blog
MyScale Blog
Jina AI
Jina AI
罗磊的独立博客
The Cloudflare Blog
美团技术团队
博客园 - 叶小钗
阮一峰的网络日志
阮一峰的网络日志
博客园 - 三生石上(FineUI控件)
月光博客
月光博客
雷峰网
雷峰网
小众软件
小众软件
aimingoo的专栏
aimingoo的专栏
大猫的无限游戏
大猫的无限游戏
博客园 - Franky
博客园 - 聂微东
Y
Y Combinator Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
MongoDB | Blog
MongoDB | Blog
T
Tailwind CSS Blog
Attack and Defense Labs
Attack and Defense Labs
博客园_首页
Latest news
Latest news
Apple Machine Learning Research
Apple Machine Learning Research
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
The Hacker News
The Hacker News
G
GRAHAM CLULEY
Simon Willison's Weblog
Simon Willison's Weblog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
P
Proofpoint News Feed
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
U
Unit 42
D
Docker
Webroot Blog
Webroot Blog
N
Netflix TechBlog - Medium
T
Tor Project blog
C
Cyber Attacks, Cyber Crime and Cyber Security
L
LINUX DO - 最新话题
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
The Last Watchdog
The Last Watchdog
B
Blog
Recent Announcements
Recent Announcements
GbyAI
GbyAI
Microsoft Azure Blog
Microsoft Azure Blog
Security Latest
Security Latest
V2EX - 技术
V2EX - 技术
N
News | PayPal Newsroom
Microsoft Security Blog
Microsoft Security Blog

博客园 - Mack.Z

压缩ASP.NET中的ViewState的改进方法 - Mack.Z - 博客园 压缩ASP.NET中的ViewState MSPlus.TabControl V1.1 版本发布 发布MSPlus TabControl WebControl V1.0.0710 版本 Html Convert Image (Html2Image) Gaia(MasterPage)我的第一个开源控件 MSN Winks 文件的解密 学习SPRING中的一个疑惑.请教一下各位 发布MSPlus DatePicker WebControl V2.0.1201 版本 发布MSPlus ToolBar&Menu WebControl V1.1.0910 版本 MSPlus DatePicker WebControl FreeVersion 1.1.0906 发布啦! 关于MSPlus控件下载后用VS.NET打开提示目录不对的解决方法 - Mack.Z - 博客园 MSPlus ToolBar&Menu WebControl FreeVersion 1.1.0830 发布拉 - Mack.Z [原创]复合控件中如何将客户端的处理结果通知服务器端的解决办法 MSPlus DataList Control(大数据量时的分页演示) MSPlus DataList Control 1.1.0818(个人版) 发布! MSPLUS-DropDownList Control [DEMO Download] 想开发.Net Server Controls 的初学者必读资料 MSPlus-ToolBar Control - Mack.Z - 博客园
[原创]屏蔽.NET自定义开发组件中的属性
Mack.Z · 2004-08-23 · via 博客园 - Mack.Z

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


    }

}

注:这个方法只是屏蔽设计时的属性,但对于在代码文件通过智能提示的属性值是无法移除的(目前好像是没有办法作到)

如果大家有控件开发上的问题,也可以在我的主页上留言.