Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Троелсен Э. -> "С# и платформа .NET. Библиотека программиста" -> 207

С# и платформа .NET. Библиотека программиста - Троелсен Э.

Троелсен Э. С# и платформа .NET. Библиотека программиста — СПб.: Питер, 2004. — 796 c.
ISBN 5-318-00750-3
Скачать (прямая ссылка): cplatforma2004.pdf
Предыдущая << 1 .. 201 202 203 204 205 206 < 207 > 208 209 210 211 212 213 .. 320 >> Следующая

Hello there from the child dialog
Рис. Текст, введенный в диалоговом окне, выводится на форме
Кроме того, мы сделаем так, что если пользователь повторно откроет диалоговое окно, в его текстовое поле будет помещен текст, ранее введенный пользователем и отображенный на форме (рис, 10.31).
Some L us tum Dialog
Type in your message, and the owing windowwill use it...
OK
Cancel
Рис. Диалоговое окно при повторном открытии
В коде для диалогового окна ничего принципиально нового для нас не встретится: как мы помііим, диалоговое окно — это не более чем слегка измененный Fcrrn, Код может выглядеть так:
// Наше диалоговое окно
public class SomeCustomForm : System.Windows.Forms.Form
{
private System.Windows.Forms.Button btnCancel: private System.Windows,Forms.Button btnOK; private System.Windows.Forms.tabel label 1: private System.Windows.Forms.TextBox txtMessage;
public SomeCustomFormO {
InitializeComponentO;
this.Startposition = FcmSWrt?osit-on CenterParent:
private void Irl'isliieCoroGnent?: {
//Настраиваем кнопку OK
Создание пользовательских диалоговые окон 513
btnOK,DialogResult - System.Widows. Forms,DailogResult.OK; btnOK.Size = new System.Drawing.Size (96. 24): btnOK.Text - "OK";
И Настраиваем кнопку Cancel
btnCancel .DialogResult » System.Windows.Forms.DialogResult.Cancel; btnCancel .Size - new System.Drawing.Size (96, 24); btnCancel .Text = "CanceF';
II Настраиваем форму - диалоговое окно this.Text = "Some Custom Dialog"; this.MaxifnizeBOX - false; this.Control Bo* - false; this.MinimizeBox = false:
)
}
В конструкторе диалогового окна мы воспользовались свойством Start.Pos і ti on, установив для него значение CenterParent из перечисления FormStartPosition. Ранее в аналогичных ситуациях мы просто вызывали для формы метод CenterToScreenu. Различие между этими двумя подходами заключается в том, что CenterToScreern ) выводит форму по центру экрана, a CenterParent — по центру родительской формы. При работе с диалоговыми окнами более аккуратным представляется использование CenterParent.
Самый важный аспект программирования диалоговых окон заключается в назначении определенным кнопкам значений из перечисления Di alogResult, Как вы, наверное, уже замечали, в большинстве диалоговых окон в самых разных приложениях предусмотрены кнопки OK и Cancel. Нажатием на кнопку OK пользователь как бы сообщает приложению: «Я все выбрал, и можно идти дальше и использовать в программе выбранные мною значения». Нажатие на кнопку Сзпс<:і означает: «Я раздумал работать с этим диалоговым окном, закройте его, пожалуйста». Назначение кнопкам соответствующих значений производится следующим образом:
private void InitializeComponentu [
// Назначения кнопке значения OK
btnOK.DialogResult = System.Windows. Forms.DialogResult.OK:
// Настройка кнопке значения Cancel
btnCancel .DialogResult = System .Windows. Forms. DialogResult. Cancel:
}
Хорошо, мы назначили кнопкам значения ОК и Cancel. Что это означает? Во-первых, при нажатии на эти кнопки диалоговое окно будет автоматически закрыто, Во-вторых, в ходе дальнейшего выполнения программы мы можем выяснить значение свойства DialogResult, чтобы узнать, какую кнопку нажал пользователь, ив зависимости от результата выполнить определенные действия:
protected void -fUiHcda'iBux_C1 ick (object sender. S/Sten. E«entArg3 e)
514 Глава 10 • Элементы управления
I
// Соэцаеи диалоговое окно
SomeCustomForm myForm - new SomeCustomFormO:
// Перепаек ссылку myForm,ShowDіalog(this):
if (myForm DialogResuU - = [iialoyResjlt.OK) і
Il Пользователь нажал OK! Делаем то. что должны сделать.
\
DoSomeWork():
Значения перечисления DialogResu It представлены в табл. 10.25. Помните, что в коде самого диалогового окна эти значения можно присваивать кнопкам. В коде же для главной формы приложения мы сравниваем эти значения со значением свойства OialogResult для самого диалогового окна.
Таблица 10.25, Значения перечисления DialogResult Значение Описание
Abort Значение, возвращаемое диалоговым окном - Abort (аварийное или внеплановое
завершение). Это значение обычно присваивается специальной кнопке Abort
Cancel Значение., возвращаемое диалоговым окном Cancel (отмена). В большинстве
диалоговых окон предусмотрена специальная кнопка Cancel
Ignore Значение, возвращаемое диалоговым окном — Ignore (игнорировать, пропустить).
Как правило, существует специалыная кнопка Ignore в диалоговом окне
No Значение, возвращаемое диалоговым окном — No (нет). И для этого значения
обычно используется специальная кнопка
None Из диалогового окна ничего не Это означает, что модальное
диалоговое окно все еще открыто
ОК Значение, возвращаемое диалоговым окном — ОК. Для генерации этого значения
обычно используется специальная кнопка ОК
Retry Значение, возвращаемое диалоговым окном — Retry (повторить). И для этого
значения чаще всего предусматривается специальная кнопка
Yes Значение, возвращаемое диалоговым окном — Yes (да). Обычно посылается
при помощи кнопки Yes
Как получить данные из диалогового окна
Предыдущая << 1 .. 201 202 203 204 205 206 < 207 > 208 209 210 211 212 213 .. 320 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100