ПОНЯТНО О Visual Basic NET

Усложняем проект


Закройте проект ошибок. Скопируйте папку проекта «Красим форму» тут же, рядышком с собой внутри папки Visual Studio Projects. Переименуйте как-нибудь скопированную папку, например, «Красим форму 1». Над копией будем продолжать работу. Откройте проект из этой папки. Это можно сделать в Windows двойным щелчком по файлу проекта или решения. Обратите внимание, что от изменения названия папки имя проекта не изменилось.

Усложним проект. Пусть при щелчке по кнопке Button1 происходит что-нибудь еще, кроме изменения ширины полосы прокрутки, а именно три вещи:

  • В текстовом поле TextBox1 появляется текст  Ширина полосы = 100 
  • Исчезает второй элемент переключателя (RadioButton2).
  • Вторая кнопка (Button2) окрашивается в желтый цвет.
  • Для этого достаточно в процедуру добавить 3 оператора. Начнем по порядку.

    Меняем текст в TextBox1. У текстового поля TextBox1 есть свойство Text, значением которого является текст в этом поле. Поэтому добавим в процедуру оператор

    TextBox1.Text  =  "Ширина полосы = 100"

    Запомните: В окне кода значение свойства Text для текстового поля и других объектов должно браться в двойные кавычки.

    Привыкайте к похожим обозначениям в VB разных вещей (у нас это TextBox1 и Text) и будьте внимательны. Наш оператор можно перевести так: Содержимое текстового поля TextBox1 сделать таким –  Ширина полосы = 100.

    Не думайте, что смысл слов  Ширина полосы = 100 что-то значит для компьютера. Во-первых, он по-русски не понимает, а во-вторых, что бы ни было написано внутри двойных кавычек, он в это не вдумывается и как приказ не воспринимает, а просто воспроизводит в текстовом поле. Чтобы проверить, можете написать внутри кавычек любую абракадабру и запустить проект.

    Вот что у нас должно получиться:

    Public Class Form1

        Inherits System.Windows.Forms.Form



    Windows Form Designer generated code

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

            HScrollBar1.Width = 100

            TextBox1.Text = "Ширина полосы = 100"


        End Sub

    End Class

    Для экономии места по вертикали я стер здесь пустые строки. И вам тоже не возбраняется.

    Запустим проект. Нажмем кнопку Button1. При щелчке по кнопке Button1 VB выполнит по порядку все операторы процедуры между строками Private Sub Button1… и End Sub. Убедимся, что оба оператора выполнились. Поскольку компьютер работает очень быстро, нам будет казаться, что оба оператора выполнились одновременно. Но это не так: сначала поменялась ширина полосы прокрутки, а уж затем текст в текстовом поле.

    Измените вручную текст в текстовом поле. Снова нажмите кнопку Button1. Что произошло? Завершите выполнение проекта.

    Исчезает RadioButton2. Для исчезновения элемента RadioButton2 достаточно дописать в процедуру такой оператор:

    RadioButton2.Hide()

    Пояснение: Кроме свойств, объекты обладают и так называемыми методами. Метод  – это то, что данный объект умеет делать. Вспомним пример с игрушечной железной дорогой. Там были объекты: паровозы, светофоры, стрелочники и т.п. У паровоза могут быть такие методы: ехать, гудеть, выпускать пар … У светофора – зажигать красный, зажигать зеленый … У стрелочника – переводить стрелку, петь песни … Команды паровозу и стрелочнику могли бы звучать так:

    Паровоз . гуди

    Стрелочник . переводи стрелку

    Поскольку «Hide» по-английски означает «прятаться», то оператор  RadioButton2.Hide() означает не что иное, как приказ элементу RadioButton2 спрятаться, сделаться невидимым. Говорят, что выполнился метод Hide объекта RadioButton2. На скобки ( ) пока внимания не обращаем. О них позже.

    Многие методы называют функциями. Но и об этом тоже позже.

    Запишите оператор, запустите проект, проверьте его работу.

    Красим Button2. Теперь нам нужно покрасить кнопку Button2 в желтый цвет. Приведу аналогию. Чтобы покрасить в желтый цвет газету, мы бы написали так:

    Газета . цвет = желтый

    Однако это было бы неточно, так как слово «желтый» может иметь переносный смысл – «желтая пресса». Поэтому лучше было бы написать так:

    Газета . цвет бумаги = желтый



    Однако и это было бы неточно, так как желтая краска из разных коробочек с красками может иметь разные оттенки. Поэтому лучше было бы написать так:

    Газета . цвет бумаги = Коробка №5 . желтый

    Теперь не спутаешь.

    Компьютер тем более требует точности, поэтому нужный нам оператор мы пишем так:

    Button2.BackColor = Color.Yellow

    Пояснение: Здесь BackColor – свойство объекта Button2. Оно означает цвет поверхности кнопки. (А есть еще, например,  ForeColor – цвет букв на кнопке.) Слово Yellow переводится «желтый». А слово Color, которое стоит перед ним – не что иное, как название «коробки с красками». Не путайте близкие по написанию, но абсолютно разные по смыслу слова: Color и  BackColor. А также пусть не обманывает вас их буквальный перевод с английского. Не спрашивайте также меня, что значит с точки зрения VB «коробка с красками». Завтра, завтра, не сегодня!

    Вот как теперь выглядит ваша процедура:

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

          HScrollBar1.Width

    = 100

          TextBox1.Text

    = "Ширина полосы = 100"

          RadioButton2.Hide()

          Button2.BackColor

    = Color.Yellow

    End Sub

    Запустите проект, нажмите кнопку Button1. Вы должны увидеть такую картинку (Рис. 1.20).



    Рис. 1.20


    Содержание раздела