屏蔽.NET自訂開發組件中的屬性

來源:互聯網
上載者:User
今天看見一個網友的留言:
有一個問題請教一下兄台,對於繼承自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" );
}

}
}

如果大家有控制項開發上的問題,也可以在我的首頁上留言.




相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。