Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы ООП не все.docx
Скачиваний:
7
Добавлен:
22.09.2019
Размер:
224.93 Кб
Скачать

Вопрос 38 Методы формы. Show, ShowDialog, Activate, Hide, Close. Методы Show и ShowDialog

Пользователи работают только с видимыми формами. Чтобы сделать форму видимой, вызовите метод Form.Show, который загружает экземпляр класса формы в память, отображает его на экране и передает ему фокус ввода, при этом свойство Visible автоматически устанавливается в true. Если экземпляр формы уже загружен, но пока не видим (например, если его свойство Visible установлено в false), вызов метода Form.Show даст тот же результат, что и установка свойства Visible в true.

Метод Form.ShowDialog выполняет те же действия, что и Form.Show, но делает окно формы модальным. Это означает, что другим формам приложения не удастся получить фокус, пока не закрыта форма, показанная при помощи метода Form.ShowDialog. Сделав окно формы модальным, вы заставите пользователя выполнить некоторое действие на этой форме, и только после этого он сможет продолжить работу с приложением. Например, метод Form.ShowDialog позволяет оповестить пользователя о том, что дискета недоступна. Ниже показан пример кода, демонстрирующий применение методов Form.Show и Form.ShowDialog:

Метод Activate

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

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

Метод Hide

Чтобы сделать форму невидимой, вызовите метод Form.Hide. Форма остается в памяти, но она невидима, пока не будет вызван метод Form.Show или свойство Visible этой формы не будет установлено в true. Метод Form.Hide устанавливает свойство Visible в false (в принципе, аналогичный эффект достигается при установке этого свойства напрямую).

Метод Close

Чтобы закрыть ненужную форму и удалить ее из памяти, вызовите метод Form.Close. Этот метод закрывает все удерживаемые формой ресурсы и помечает ее как мусор, подлежащий сбору. После вызова метода Form.Close сделать форму видимой, вызвав метод Form.Show, не удастся, поскольку ресурсы этой формы уже освобождены. Вызов Form.Close на стартовой форме приложения завершает приложение.

Вопрос 42 Оповещение пользователя об ошибках ввода ErrorProvider.

Если пользователь ввел в поле недопустимое значение, необходимо оповестить его об этом и дать возможность исправить ошибку. Существует много способов уведомления об ошибках ввода. Если ошибка очевидна и ее не требуется пояснять, можно ограничиться звуковым сигналом. Привлечь внимание пользователя к ошибке можно и по-другому, изменив цвет фона или текста элемента управления (при помощи его свойств BackColor и ForeColorсоответственно). Например, выделить текстовое поле с недопустимым значением, задав для него красный фон через свойство BackColor.

Чтобы вывести более информативное описание ошибки, воспользуйтесь методом MessageBox.Show, отображающим небольшое модальное окно с сообщением. Поскольку это окно — модальное, пользователю не удастся просто игнорировать его и продолжить работу с программой. Вот пример вызова метода MessageBox.Show: