上一章遺留的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?答案是,用標準...