русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Вторая форма


Дата добавления: 2015-07-09; просмотров: 729; Нарушение авторских прав


Модуль

Module Modulel

Public F1 As Forml

Public F2 As Form2

End Module

Первая форма

Private Sub Button 1 _Click(ByVal sender As System.Object, ByVal e As System. EventArgs) Handles Buttonl .Click

Me.BackColor = Color.Blue

F2.BackColor = Color. Yellow

End Sub

 

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

TextBoxl .Text = "Форма Forml приветствует саму себя!"

F2.TextBox1 .Text = "Привет форме 2 от формы 1!"

F2.Focus()

End Sub

 

Private Sub Forml_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

F1 = Me

End Sub

 

Private Sub Button3_Click(ByVaI sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

F2 =New Form2

F2.Show()

End Sub

Вторая форма

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

Me.BackColor = Color. White

F1 .BackColor = Color.Tomato

End Sub

 

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

TextBoxl .Text = "Форма Form2 приветствует саму себя!"

F1 .TextBoxl .Text = "Привет форме 1 от формы 2!"

F1.Focus()

End Sub

 

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

TextBoxl .Text = "Я родилась!"

End Sub

 

Модули обычно используются в качестве общедоступного склада для переменных, констант, процедур, функций и других элементов VB.

В нашем случае модуль понадобился для объявления двух общедоступных переменных: F1 и F2.

Зачем они нужны?

Почему именно модуль?

Переменная F1 объявляется как объект класса Forml. Это значит, что после загрузки формы Forml мы хотим к ней обращаться по имени F1. Но этого мало. С этой же целью в процедуру Forml_Load вставлен оператор



F1 = Me

чтобы "все" знали, что F1 ссылается именно на этот "экземпляр" формы.

После запуска проекта форма Forml появляется на экране. Чтобы появилась и форма Form2, нажимаем кнопку Button3. Оператор

F2 = New Form2

порождает эту форму как объект класса Form2. А чтобы форма стала видна, выполняется оператор

F2.Show()

Теперь у вас на экране обе формы и вы можете работать с каждой из них, нажимая кнопки и вводя текст в текстовые поля .

Посмотрите на содержимое процедур Button 1 Click в обоих окнах кода. Вы видите, что первая строка обеих процедур красит своего хозяина, вторая - соседа. Таким образом, в каждом окне кода можно, как обычно, писать операторы, приказывающие что-то сделать в форме - хозяине данного окна, а можно с таким же успехом писать операторы, приказывающие что-то сделать в любой другой форме проекта.

Чтобы VB понимал о какой форме идет речь, перед именем свойства, принадлежащего чужой форме, нужно писать имя этой формы (в нашем случае F1 или F2) с точкой. Если же форма своя, то вместо имени хозяина можно писать слово Me или вообще ничего не писать.

Так, в процедуре Button l Click первой формы вместо

Me.BackColor = Color.Blue

можно написать

F1 .BackColor = Color.Blue или просто

BackColor = Color.Blue

 

Теперь посмотрите на содержимое процедур Button2_Click в обоих окнах кода. Вы видите, что первая строка обеих процедур выводит текст в текстовое поле TextBoxl своего хозяина, вторая - в текстовое поле TextBoxl соседа. Третья строка обеих процедур при помощи метода Focus, принадлежащего соседу, переводит фокус на соседа. Таким образом, мы можем обращаться не только к свойствам чужой формы, но и к ее элемен­там управления, и к методам. К ним тоже применимо соглашение об имени хозяина с точкой.

Из одной формы можно обращаться не только к свойствам, объектам и методам, принадлежащим другой форме, но и к переменным, процедурам и другим элементам. Правило везде одно:

Перед именем элемента, принадлежащего другой форме, нужно ставить имя формы- хозяина с точкой.

 

Структура проекта и решения. Окно Solution Explorer

Solution Explorer предназначен для того, чтобы в удобной форме показывать нам составные части проекта, добавлять, переименовывать и удалять их. Информация в окне представлена в виде древовидной структуры. Она позволяет наглядно видеть вхождение одних компонентов проекта в другие. При этом не всегда те "папки", которые мы видим в окне, являются настоящими папками Windows.

Начнем просмотр снизу. Нижние строки отражают тот факт, что проект состоит из трех модулей; формы Forml, формы Form2 и стандартного модуля Module 1.

В нашем случае каждый из трех упомянутых модулей сохраняется на диске в своем файле, в чем вы можете убедиться, зайдя в Windows в папку проекта. Не всегда это бывает так. в одном файле может хранится несколько модулей.

Щелкая в окне Solution Explorer по нужному модулю, а затем (для форм) по одной из двух кнопок слева на панели окна (View Code и View Designer), мы можем удобно переключаться между различными окнами модулей.

Щелкая правой клавишей мыши в окне Solution Explorer по нужному модулю, а затем в открывшемся контекстном меню выбирая нужный пункт, вы можете этот модуль переименовывать (Rename), копировать (Сору), вырезать (Cut), удалять из проекта (Exclude From Project), удалять с диска (Delete), просматривать и изменять его свойства (Properties). Только не забывайте, что речь идет о файлах модулей, а не о самих модулях как программном тексте в окнах кода. Так, переименовав указанным способом файл Forml.vb, вы не тронули имя этой формы, в чем вы можете убедиться, зайдя в окно свойств формы. И наоборот.

 

!! Важное замечание. Переименовав форму (а не ее файл) в окне свойств формы, вы не сможете запустить проект, если он с этой формы стартует. Вам понадобится зайти в Windows Applicationl Properties и выбрать там имя формы.

Выше расположена "папка" References (Ссылки), внутри которой в нашем случае перечислены 5 пространств имен из библиотеки классов .NET Framework, которыми ваш проект имеет право пользоваться. Если сотрете оттуда какое-нибудь пространство имен, например System.Drawing, и ваш проект тут же разучится рисовать, зато будет меньше расходовать ресурсов компьютера.

Если вы знаете, что в вашем компьютере где-то есть другие библиотеки, пусть даже не принадлежащие к библиотеке классов .NET Framework, которые умеют делать что-нибудь интересное, щелкните пра­вой клавишей мыши по "папке" References и добавьте нужную ссылку. После этого вы можете попытаться использовать их интересные возможности в своем проекте.

Второй справа на панели окна Solution Explorer на рисунке показана кнопка Show All Files. Она нужна для знатоков, которые хотят увидеть в окне Solution Explorer кроме всего прочего еще и многочисленные файлы, входящие в проект.



<== предыдущая лекция | следующая лекция ==>
Заключение | Решение (Solution). Несколько проектов в решении


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.032 сек.