2.11.2.2. Контрола CommandButton (бутон)

Показаната потребителска форма остава на екрана, докато не бъде скрита или разтоварена. Диалоговият прозорец UserForm автоматично се разтоварва от паметта, когато се щракне върху бутона в заглавната лента на прозореца на формуляра. Обикновено контрола CommandButton се вмъква в UserForm, което задейства процедурата за затваряне на формуляра. Тази процедура или разтоварва UserForm с помощта на оператора Unload или скрива UserForm от екрана с помощта на метода Hide на обекта UserForm. Когато се извика методът Hide, диалоговият прозорец се премахва от екрана, но формулярът остава в паметта.

Щракването върху контролата предизвиква събитие, което може да бъде обработено от процедурата на формуляра. Тази процедура се намира в модула формуляр и има име, състоящо се от името на контролата с поредния номер на елемента във формуляра и думата Click , разделени със символа „под-

тире”, например CommandButton1_Click .

В този случай първият елемент от този тип, вмъкнат във формата, има номер 1, вторият - 2 и т.н. Името на контролата, определено от параметъра ( Name ), може да бъде променено на семантично в таблицата Properties, например на Ok или Exit. В този случай процедурата за събитие ще бъде наречена съответно OK_Click и Exit_Click.

Private Sub CommandButton1_Click()

Частен под Ok_Click()

ако името на формуляра е заменено в прозореца Свойства с Ok. В тази процедура трябва да вмъкнете оператори (инструкции) за обработка на събитието, например,

Частен под Ok_Click()

Диапазон (“A1”). Стойност = ShouQuarter.QUARTERS.Value R = ShouQuarter.QUARTERS.Value

Private Sub Ok_Click() Разтовари ме

Когато щракнете върху бутона Ok в първата процедура, клетка A1 на активния лист ще получи стойността на контролата QUARTERS на формуляра ShouQuarter, а втората процедураще доведе до разтоварване на активната (текуща) форма.

Ключовата дума Me връща (посочва) името на активния прозорец.

Можете също така да скриете или разтоварите формуляр, като използвате стандартна процедура, която може да бъде извикана от всяка друга процедура, включително процедурата за формуляр. Процедурата PLAN_HIDE по-долу скрива формуляра SHIPPING_PLAN, а процедурата PLAN_DELETE премахва формуляра SHIPPING_PLAN от паметта.

Sub PLAN_HIDE() PLAN_SHIPP.Hide End Sub

Подплан_ИЗТРИВАНЕ()

Вместо изразите SHIP_PLAN.Hide и Unload SHIP_PLAN, можете да използвате изразите Me.Hide и Unload Me.

2.11.2.3. Контрола TextBox (Текстово поле)

Използва се текстовото поле:

за получаване на въведени от потребителя текстови данни;

да показва текстови данни на потребителя с възможност за редактиране;

за извеждане на текстови данни с възможност за копиране и печат, но без възможност за промяна.

Най-често използваните свойства на този контрол са:

Стойност (или Текст, тези две свойства са идентични за текстово поле) е текстовата стойност, съдържаща се в това поле. Използва се за съхраняване на първоначалната стойност и за получаване на стойността, въведена от потребителя в низова променлива.

AutoSize - възможността текстовото поле автоматично да се преоразмерява, за да се побере целият текст.

ControlTipText - Текстът на подсказката, който се появява, когато потребителят задържи курсора на мишката върху контролата. Препоръчва се за попълване за всички контроли (не е предвидено за самия формуляр).

Разрешено – ако е зададено False, текстът в полето ще стане сив и нищо не може да се направи със съдържанието на полето (нито въвеждане на текст, нито избиране, нито изтриване). Обикновено товасвойството се използва (за всички контроли), за да покаже на потребителя, че този контрол е деактивиран, докато не бъдат изпълнени условията.

Заключено - полето ще изглежда както обикновено, потребителят ще може да избира и копира данни от него, но не и да ги променя. Обикновено се използва за показване на неизменни данни като лицензионни споразумения, генерирани стойности и т.н.

MaxLength - Максималната дължина на стойност, която може да бъде въведена в полето. Понякога можете да използвате свойството AutoTab - когато се достигне определен брой знаци, управлението автоматично се прехвърля към друга контрола.

контрола

PasswordChar - посочете знака, зад който ще бъдат "скрити" стойностите, въведени от потребителя. Използва се, разбира се, при въвеждане на парола. Ленти за превъртане - дали ще се показват хоризонтални и вертикални ленти за превъртане (произволна комбинация). Ако текстът може да е голям, те са незаменими.

WordWrap - силно препоръчително да се активира в ситуации, в които MultiLine е настроен на True. В този случай при достигане на границата на текстовото поле ще се извърши автоматичен преход към нов ред.

Най-често използваното събитие за текстово поле е събитието Change, т.е. промяна на съдържанието на полето. Обикновено се използва за валидиране на въведеното от потребителя или за синхронизиране на въвеждането с други контроли, като например предоставяне на бутон, промяна на текста на етикет и т.н.

Фигура 20 показва формуляра SHIP_PLAN, който показва контролата TextBox със свойството MultiLine, зададено на True.

Ориз. 20. Използване на контролата TextBox

Формулярът SHIP_PLAN се зарежда, когато се изпълнява процедурата „Написване“:

Обществен подетикет()

SHIPPING_PLAN. Показване на крайния под

Когато правите промени в контролно поле, например, когато въведете текста „Текстово поле, въведено с помощта на контролата TextBox“, се изпълнява процедурата от формата SHIP_PLAN