c# 自訂控制項的顯示視窗屬性


我們都知道控制項都是利用屬性觸發相關功能,我們在寫自訂控制項時一定會用到屬性,但控制項的屬性怎麼列出來呢?

2010-6-15 上午 11-07-00

System.ComponentModel 命名空間 提供相當多的類別供程式設計師使用,定義控制項的顯示方式。

在此將把我用過的類別做一個筆記


c# 一般屬性

private string _AppVersion ="1.0";
public string AppVersion
{
    get { return _AppVersion; }
    set { _AppVersion = value; }
}

C#//自動屬性,C#2008後支援
public bool IsConnected { get; set; }
屬性顯示與否

BrowsableAttribute 類別 = 指定屬性或事件是否應該在 [屬性] 視窗中顯示

C#
[Browsable(false)]
public bool IsConnected { get; set; }
2010-6-15 下午 01-06-19

把 IsConnected 藏起來

屬性分類

CategoryAttribute 類別 = 指定分類的名稱,該分類會在將 PropertyGrid 控制項設定為 [分類] 模式時,以群組方式來顯示屬性或事件。

C#
[Category("自訂屬性")]
public bool IsConnected { get; set; }
2010-6-15 下午 01-05-08

屬性說明

DescriptionAttribute 類別 = 指定屬性或事件的描述。

C#
[Description("連線與否")]
public bool IsConnected { get; set; }

2010-6-15 下午 01-04-08

自訂控制項圖示

請參考 [C#.NET][VB.NET] 自訂控制項工具箱圖示 - ToolboxBitmap Attribute

 

屬性預設值

DefaultValueAttribute 類別 = 指定屬性的預設值。

C#
private string _AppVersion="1.0";
[Browsable(true),Category("自訂屬性"),DefaultValue("1.0")]
public string AppVersion
{
    get { return _AppVersion; }
    set { _AppVersion = value; }
}
2010-6-15 下午 01-15-48

屬性唯讀

ReadOnlyAttribute 類別 = 指定這個屬性 (Attribute) 繫結的屬性 (Property) 在設計階段是唯讀的或是讀取/寫入的。這個類別無法被繼承。

就算屬性可以Set也是唯讀

C#
[ReadOnly(true)]
public bool IsConnected { get; set; }
2010-6-15 下午 12-45-06

指定類別遇設屬性

DefaultPropertyAttribute 類別 = 指定元件的預設屬性。

載入控制項時第一個要呈現的屬性

C#
[DefaultPropertyAttribute("IsConnected")]
public partial class CSUserControl1 : UserControl
{
}

下拉式屬性

首先建立一個列舉

C#
public enum StatusEnum:int
{
    Normal,Advanced
}
C#
[Category("自訂屬性")]
public StatusEnum Status { get; set; }
2010-6-15 下午 01-46-06

 

 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值