元件程式設計(3) Property Editor

2021-04-06 15:11:28 字數 2129 閱讀 5476

上一章遺留的defaultvalueattribute問題,還沒有找到問題所在,我會繼續查詢資料,找到後會及時補上。

今天我們講component  property editor ui,在vs環境中property editor有兩種,一種是vs自帶的,一種是component編寫者根據自己需求而重新編寫的。在本章中我們這兩種都會進行乙個簡單的學習,vs自帶的主要講collection editor。

先來回顧下我們上章沒有講的幾個propertyattribute:

designerserializationvisibilityattribute:指定通過property editor得到的結果是否儲存在**中。

localizableattribute:使用者要本地化某個窗體時,任何具有該特性的屬性都將自動永久駐留到資源檔案中。

**例項如下,請注意**中注釋說明。

using

system;

using

system.collections.generic;

using

system.collections;

using

system.text;

using

system.componentmodel;

using

system.componentmodel.design;

using

system.drawing;

using

system.drawing.design;

using

system.windows.forms;

using

system.windows.forms.design;

namespace

components

private

list

<

student

>

_students;

private

string

_grade;

//vs 自帶的editor。

//如果沒有designerserializationvisibilityattribute的話,對students設值,值不能被儲存。

//大家可以把designerserializationvisibilityattribute注釋掉,對students設值後,關閉vs環境,再重新開啟專案,觀察students的值沒有被儲存下來。

[designerserializationvisibility(designerserializationvisibility.content)]

public

list

<

student

>

students

set}

//使用者自定義editor。

[editor(

typeof

(gradeeditor), 

typeof

(uitypeeditor)), localizableattribute(

true

)] public

string

grade

set}

}public

class

student

set}

public

string

name

set}

}public

class

studentcollection : collectionbase

public

class

gradeeditor : uitypeeditor

[system.security.permissions.permissionset(system.security.permissions.securityaction.demand)]

public

override

object

editvalue(system.componentmodel.itypedescriptorcontext context, system.iserviceprovider provider, 

object

value) }}

元件程式設計基礎

一 元件概念 簡而言之,元件就是物件。c builder中叫元件,delphi中叫部件,而在visual basic中叫控制項。元件是對資料和方法的簡單封裝。c builder中,乙個元件就是乙個從tcomponent派生出來的特定物件。元件可以有自己的屬性和方法。屬性是元件資料的簡單訪問者。方法則...

元件式程式設計思想和元件類

有很多容易混淆的概念。com元件 com元件式程式設計 元件類就是這種。com元件和com元件式程式設計,是一種思想。不僅僅只有c 也不是僅僅只有windows才有元件式程式設計。它的主要表現形式為 多多地利用介面,進行通訊。而c 元件類是繼承了component類,一共有兩個方法,乙個是建構函式,...

程式設計 Boost元件lexical cast

原 這次我們先挑個簡單實用的boost元件,看看boost能給我們帶來怎樣的便利。3.1 字串 數值 在csdn論壇上經常看到詢問如何在字串型別和數值型別間進行轉換的問題,也看到了許多不同的答案。下面先討論一下從字串型別到數值型別的轉換。如何將字串 123 轉換為int型別整數123?答案是,用標準...