За више информација о овој теми на Гоогле Сеарцх ВБ Инитпропертиес
property already has an Initialize event in common with Class modules and other objects, such as forms. Ви мај Питам се зашто ми је потребан ИнитПропертиес догађај од УсерЦонтрол власништво већ има иницијализирате случају заједничког са Класа модула и других објеката, као што су форме.
event happens too often, that is, every time an instance or your control "wakes up." Разлог да је потребно да ИнитПропертиес иницијализирате подразумеване вредности је у томе што се дешава иницијализирате догађају пречесто, тј сваки пут кад пример или ваше контроле "уакес уп." Ви само желите подразумеване вредности имовине бити додијељен кад је први уеб странице програмере нову копију ваше контроле на контејнер. Након тога, желите да се програмер да бисте могли дефинисати упорни вредности имовине.
event, then you will have some very frustrated developers on your hands. УПОЗОРЕЊЕ - Не користите иницијализирате догађаја у Поставите АцтивеКс Цонтрол подразумевану некретнину Вредности: Ако ставите код на иницијализирате некретнина на почетне вредности у своју прилагођену АцтивеКс контролу'с иницијализирате догађај уместо у ИнитПропертиес догађај, онда ћете имају неке врло фрустриран програмере на вашим рукама. Ваш ће надјачати подразумеване вредности вредности развојни пројекат је додијељен на време сваки пут кад се програм покрене програмер помоћу контроле.
--
object containing the values of your control’s custom, extender, and delegated properties. Тхе Проперты Баг је упорна УсерЦонтрол објекат који садржи вредности ваше контроле је обичај, храни, и делегираних својства. This means you can store property values in the Property Bag just before an instance of the UserControl is destroyed and then retrieve the stored values when a new instance of the UserControl "wakes up" in another part of the development life cycle. У ствари, имовину Баг је толико упоран да не би уништен у случајевима у УсерЦонтрол. То значи да можете сачувати вредности имовине у имовину Баг само један пример од пре него је УсерЦонтрол је уништен, а затим скидати похрањених вредности када нови пример у УсерЦонтрол "уакес уп" у неком другом делу развоју животног циклуса.
Тхе Баг Објекат има два начина за складиштење и дохватим вредности респективно:
Тхе УритеПроперты метода
Тхе РеадПроперты метода
Морате знати како манипулирају Проперты Баг у следећим ситуацијама да ми расправљати у одељцима непосредно након ове стране:
method in the WriteProperties event procedure. Ви складиштење вредности некретнина у ПропертыБаг својим позивом УритеПроперты метода у УритеПропертиес случају поступак.
method in the ReadProperties event procedure. Ви преузели власништво вредности од ПропертыБаг својим позивом РеадПроперты метода у РеадПропертиес случају поступак.
method. Ти би се обезбиједило да УритеПропертиес случају пожара ће позивом на ПропертыЦхангед метода. Обично ћете то да урадите у Проперты Лет поступака Ваших корисничких својстава или на другим одговарајућим местима у којима је свој ко̂д за складиштење вредности некретнина промене.
--
and WriteProperties events whenever it thinks that the instantiated object’s properties need to be re-initialized ( ReadProperties event fires) or stored for safekeeping ( WriteProperties event fires). У оперативном окружењу испаљује један УсерЦонтрол 'с РеадПропертиес и догађаји УритеПропертиес кад год то сматра да је инстантиатед објецт'с пропертиес треба поново покрене (РеадПропертиес случају пожари) или сачуване за чување (УритеПропертиес случају пожара).
Овај аранжман је чини много лакше за вас, контрола аутора, да управљају од ових својстава не морате размишљати о свим могућим приликама, када вредности имовине можда требати читања или писања. event procedures. Ви једноставно треба ставити код за читање и писање вредности имовине у два централизована места: у РеадПропертиес и УритеПропертиес евент процедуре.
event procedures receive a single parameter named PropBag. This PropBag parameter obviously represents the Property Bag object that holds the UserControl ’s property values. Оба РеадПропертиес и УритеПропертиес евент процедуре примити једну параметар зове ПропБаг. ПропБаг Овај параметар очито представља имовину Баг објекат који држи УсерЦонтрол 'с имовином вредности.
parameter has one method for reading properties (ReadProperty) and another for writing properties (WriteProperty). Тхе објецт ПропертыБаг заступљени од стране ПропБаг параметар има једну методу за читање својства (РеадПроперты) и други за писање својства (УритеПроперты).
method so you can retrieve persistent values for individual properties. Обично, једино код морате писати у случају поступка РеадПропертиес ће се низ позива на РеадПроперты методом, тако да можете преузимати упорни за појединачне вредности својстава.
method so you can store persistent values of individual properties. Исто тако, само код вас обично је потребно писати у случају поступка УритеПропертиес ће се низ позива на УритеПроперты методом, тако да можете сачувати упорна вредности појединих својстава.
--
event just before it fires the UserControl’ s Terminate event provided that at least one property value has changed. Висуал Басиц пожари у УсерЦонтрол 'с УритеПропертиес манифестација само пре него што су пожари УсерЦонтрол' с Опозови догађаја под условом да је барем једна вредност имовине је променило. Другим речима, сваки пут кад УритеПропертиес случају пожара тренутни инстанца контроле је да буду уништене и имовину било које вредности које желите устрајати су се промениле, и зато треба да буде сачувана.
Као што је њено име значи, да користите УритеПропертиес случају поступак сте упорни вредности имовине. for each property whose value you wish to save. Специфични механизам који користите за чување вредности имовине за позивање УритеПроперты метода имовину Баг за сваку имовину чија је вредност коју желите да сачувате. event as a parameter named PropBag. The example code in Listing 13.7 shows how you would call the Property Bag ’s WriteProperty method to save individual property values. Тхе Баг Некретнина је на располагању у случају поступак у случају УритеПропертиес као параметар зове ПропБаг. На пример код у Листа 13,7 показује да бисте назвати Проперты Баг 'с УритеПроперты методу за чување вредности имовине појединца. Приметити да се користе без обзира репозиториј је чување имовине вредност као извор за тренутну вредност: понекад то може бити приватна променљива меморије, и на другим пута можда је власништво саставни контроле (као што је у крајњој линији пре под крај).
КОРИШЋЕЊЕ УРИТЕПРОПЕРТИЕС ДОГАЂАЈ ПОСТУПАК За чување ВРИЈЕДНОСТИ ИМОВИНЕ на имовину БАГ
Привате Суб УсерЦонтрол_УритеПропертиес (ПропБаг Као ПропертыБаг) '-Сторе вредности обичају некретнина на имовину Баг
ПропБаг.УритеПроперты "БацкЦолор", БацкЦолор
ПропБаг.УритеПроперты "Целзијус", м_Целсиус
ПропБаг.УритеПроперты "Фаренхајт", м_Фахренхеит
ПропБаг.УритеПроперты "ТемпературеДате", м_ТемпературеДате
ПропБаг.УритеПроперты "Цаптион", лблЦаптион.Цаптион
Енд Суб
--
events whenever it thinks you may need their services. Систем аутоматски пожари у УритеПропертиес и догађаји РеадПропертиес кад год то сматра мај вам требати њихове услуге. Како би се обезбедило да систем зна некретнину се променило, морате назвати ПропертыЦхангед методе. Пример за ово би било када променити вредност приватна променљива која имплементира вредност некретнина. Систем неће имати пут знајући да је ова променљива је повезано са имовином, и зато он неће УритеПропертиес у случају пожара темељи се само на промене које сте направили.
У таквим случајевима, можете назвати ПропертыЦхангед методом. Ова метода је систем обавештава да одређена имовина променила и тако осигурава да ће се догађај УритеПропертиес ватру пре тренутна инстанца контроле уништен. Ако сте писмени одговарајући код у УритеПропертиес ксвент, тада ваше власништво вредности бит ће похрањени у некретнине Баг.
method whenever you do something in code that will cause a change to a property whose value you wish to persist. Требате назвати УсерЦонтрол 'с ПропертыЦхангед метод кад год нешто учинити на број који ће узроковати промене на некретнину чија вредност коју желите устрајати. or Property Set procedure. Најважнији типично место за Вас, позовите ПропертыЦхангед метода била би у Проперты Лет или Проперты Сет поступак. Имајте на уму да смо проверили ЦанПропертыЦханге методом да ми расправљати у "Позивање на ЦанПропертыЦханге Метод Пре допуштајући Проперты Валуе променити."
Позивом на ПропертыЦхангед МЕТОДА како би се обезбиједило да УРИТЕПРОПЕРТИЕС ЋЕ ФИРЕ
Проперты Лет Целзиј (сВалуе Ас Сингле)
Ако ЦанПропертыЦханге ( "Целзијус") А '-долазни доделити вредност се чува у променљиву Приватни
м_Целсиус = сВалуе
ПропертыЦхангед ( "Целзијус") '-дозивати УсерЦонтрол'с ПропертыЦхангед методом, тако да зна да се активирају УритеПропертиес и похранити нову вредност
Слидер1.Валуе = м_Целсиус "-обављање других домаћинства су специфичне за ову апликацију
РецалцФахренхеитФромЦелсиус сВалуе
ДисплаыТемпсФромСлидер
Крај Ако је
Енд Проперты
--
У случају пожара, када РеадПропертиес прилагођене контроле реинстантиатед у неком тренутку у развоју циклуса (пројекат у којем је настањен је преузет и његове контејнер је инстантиатед, развојни је управо ушао покренути из моде десигн мод или програмер је управо вратио се у дизајн моду из покренути приправности).
Напомињемо да смо рекли да кад су пожари РеадПропертиес цустом контрола је ре-инстантиатед. event doesn’t fire. Ми који се користе у овом пхрасинг намерно изузети случај када је девелопер местима један пример од контролу на својим контејнер по први пут од Тоолбокс. За такве први пут примеру, у РеадПропертиес догађај не пожара. Уместо тога, ИнитПропертиес случају пожара (погледајте "Употреба ИнитПропертиес догађаја на Сет Дефаулт Почетна Проперты Валуес"). The Property Bag appears in the ReadProperties event procedure as a parameter named PropBag. You call PropBag’ s ReadProperty method for each property whose value you wish to restore. Тхе РеадПропертиес догађаја, као и његово име имплицира, јесте догађај који ћете користити за враћање вредности некретнина које су сачуване у некретнине Баг. Имовина Баг се појављује у случају поступка РеадПропертиес као параметар зове ПропБаг. Позива Вас ПропБаг ' С РеадПроперты метода за сваку имовину чија је вредност коју желите да вратите.
. Приметити да се РеадПроперты методом траје две аргументе: назив имовине као стринг и онда подразумевану вредност имовине (у случају да је вредност имовине није иницијализиране Некретнине у Баг).
Ми похранити резултате сваког позива на РеадПропертиес у одговарајућа променљива или имовине која спроводи контролу имовине унутар ове контроле.
КОРИШЋЕЊЕ РЕАДПРОПЕРТИЕС ДОГАЂАЈ поступак враћања упорни ВРИЈЕДНОСТИ ИМОВИНЕ ОД ИМОВИНЕ БАГ
Привате Суб УсерЦонтрол_РеадПропертиес (ПропБаг Као ПропертыБаг)
м_Целсиус = ПропБаг.РеадПроперты ( "Целзијус", 30)
м_ТемпературеДате = ПропБаг.РеадПроперты _
( "ТемпературеДате", ДатеСериал (1997, 1, 1))
м_цаптион = ПропБаг.РеадПроперты ( "Наслов", Екстендер.Наме)
БацкЦолор = ПропБаг.РеадПроперты ( "БацкЦолор", Амбиент.БацкЦолор)
лблЦаптион.Цаптион = м_цаптион
Енд Суб
--