3. Лабораторна робота № 3
Побудова інтерфейсу з невидимими елементами
Мета: Набуття навичок із використання в програмах елементів керування Label і TextBox для відображення та редагування багаторядкового тексту.
3.1. Графічні елементи відображення та задання даних. Елементи керування Label і TextBox
Для відображення та вводу тексту Visual Basic передбачає використання елементів керування Label і TextBox.
Розмір тексту, який допускається поміщати в Label практично необмежений (до 65528 символів). Спосіб його відображення визначається властивостями AutoSize і WordWrap. Залежно від значень цих властивостей в полі Label може виводитись різний об’єм інформації. Саме, значення властивостей AutoSize і WordWrap дозволяють визначити спосіб налаштування розмірів поля Label під відображуваний в ньому текст.
Властивість AutoSize визначає можливість зміни розміру поля Label. Її значення True і False відповідно дозволяють зміну розміру або забороняють. Зміна розміру поля Label може проводитись шляхом збільшення його ширини або висоти. Спосіб цієї зміни задається властивістю WordWrap. Значення False властивості WordWrap, яке прийнято за домовленістю, дозволяє зміну поля Label по ширині, а True – по висоті.
Є певні особливості визначення способу налаштування поля Label під текст напису. А саме, щоб запобігти його розширенню по горизонталі необхідно спочатку встановити для властивості AutoSіze значення False, потім WordWrap надати значення True і лише після цих установок встановити AutoSіze в True. При збереженні такого порядку задання значень властивостям WordWrap і AutoSize розмір поля Label збільшуватиметься лише по вертикалі, при цьому його ширина визначається властивістю Width. Якщо попередньо властивість AutoSіze не встановити в False, то поле Label буде збільшуватись по горизонталі.
Форматування тексту в полі Label проводиться відповідно до його розміру. Для визначення абзаців в тексті напису можна використати символи завершення рядка й переходу на наступний. Цим символам відповідають коди ASCII 13 і 10. Для цих символів у Visual Basic спеціально передбачена константа vbCrLf, яку можна використовувати замість цих кодів. Наприклад, напис:
Label1.Caption = "Перший рядок" & vbCrLf & "Другий рядок"
відобразиться в полі Label1 у двох рядках.
Для вводу тексту користувачем використовується елемент керування TextBox (текстове поле). Цей елемент допускає також й редагування цього тексту. Текст, що знаходиться в полі TextBox, є значенням його властивості Text. Він може задаватись як на етапі розробки програми, так і в процесі її виконання. Переважно поле TextBox використовують для задання значень якихось параметрів. Наприклад, коли ми задавали довжину сторони квадрата в програмі обчислення його площі (див. пояснення до попередньої лабораторної роботи).
Об’єм тексту в полі TextBox не обмежується, хоча при потребі допустиму кількість символів можна визначити властивістю MaxLength. Ця властивість задає допустимий розмір тексту в символах (байтах) для даного елементу керування TextBox. Слід зазначити, що її дія проявляється лише при вводі даних в цьому текстовому полі в процесі виконання програми, на етапі розробки програми ця властивість не проявляється. Розмір наявного тексту можна визначити з допомогою функції Len, наприклад, функція
Len(Text1.Text)
визначає кількість символів в полі з іменем Text1.
При необхідності відображення тексту в декілька рядків властивості MultiLine слід надати значення True. За замовчування вона має значення False. Визначення цієї властивості дозволяється лише на етапі розробки програми. Для означення абзацу під час вводу даних в полі TextBox можна використати комбінацію клавіш Cntr/Enter або Shift/Enter. Якщо розміри поля TextBox не дозволяють повністю відобразити весь текст, то використовуються смуги прокрутки. Включення в поле TextBox смуг прокрутки визначається значенням властивості ScrollBars. Її значення нуль, яке прийняте за замовчуванням, не передбачає наявності смуг прокрутки, значення "1" включає горизонтальну смугу, 2 – вертикальну і 3 – обидві. Ця властивість доступна лише тоді, коли значення MultiLine встановлено в True.
3.2. Завдання
Програму, розроблену під час виконання лабораторної роботи № 2, доповнити довідкою про розробника, яка повинна включати не менше тридцяти слів. Для зберігання довідки використати елемент керування Label. Ця програма повинна забезпечувати:
відображення довідки лише за побажанням користувача;
приховання довідки після її перегляду;
можливість корекції довідки під час виконання програми;
засоби, які використовуються при корекції довідки та її приховання повинні бути доступними лише під час перегляду довідки.
Робоче вікно програми під час перегляду довідки може мати вигляд зображений на рис.  3.1.
У разі натиснення кнопки "Сховати" довідка й кнопки "Сховати" і "Редагувати" стають невидимі, а розмір робочого вікна зменшується по ширині відповідно до наявних в ньому елементів керування й його можливий вигляд зображено на рис. 3.2.
Порада: оскільки мітка дозволяє лише відобразити текст, то для коректування довідки її необхідно скопіювати в текстове поле й після виправлення знову відобразити в мітці. Проекспериментуйте з багаторядковим текстовим полем TextBox - воно допускає виконання таких самих дій під час коректування тексту, як і текстові редактори: передбачає виокремлення тексту, його копіювання, перенесення чи вилучення.