Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lesson_9.doc
Скачиваний:
3
Добавлен:
28.09.2019
Размер:
524.29 Кб
Скачать

Обработчик события пункта меню Reset

Вы можете реализовать обработчик события пункта меню Reset следующим образом:

System::Void resetMenuItem_Click(System::Object^ sender, System::EventArgs^ e)

{

if(lottoTab->Visible)

{

// Reset user limits for Lotto

lottoUserMaximum = lottoUpperLimit;

lottoUserMinimum = lottoLowerLimit;

lottoLimitsDialog->UpperLimit = lottoUpperLimit;

lottoLimitsDialog->LowerLimit = lottoLowerLimit;

}

else if(euroTab->Visible)

{

// Reset user limits for Euromillions

euroUserMaximum = euroUpperLimit;

euroUserMinimum = euroLowerLimit;

euroStarsUserMaximum = euroStarsUpperLimit;

euroStarsUserMinimum = euroStarsLowerLimit;

// Code to update Euromillions limits dialog...

}

}

Этот обработчик переустанавливает пределы в исходные значения как было первоначально в объекте Form1 и затем модернизирует свойства в диалоговом объекте.

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

Вы можете теперь перекомпилировать программу и попробовать изменить пределы для входа Lotto. Типичное окно приложения показано на рисунке 24.

Рисунок 24

Как видите, вы автоматически получаете скроллинг, чтобы просмотреть список значений в listbox. Отметим, что скроллинг к определенному значению не выбирает его. Вы должны щелкнуть на выбранном значении перед щелчком по кнопке OK.

Выбирая пункт меню Limits-> Reset вы устанавливаете оба предела в их первоначальные значения.

Добавление второго диалогового окна

Второе диалоговое окно для установки пределов для закладки Euromillions разрабатывается аналогично. Создайте новую форму в проекте, нажимая Ctrl+Shift+A, чтобы вывести Add New Item и выберите UI категорию и шаблон Windows Forms с именем EuroLimitsDialog. Вы можете установить собственные значения для этого диалогового окна таким же образом, как и в предыдущем диалоговом окне.

Свойства формы

Устанавливаемое значение

FormBorderStyle

FixedDialog

ControlBox

False

MinimizeBox

False

MaximizeBox

False

Text

Set Euromillions Limits

Затем вы можете добавить кнопки Ok и Cancel к диалоговому окну. Установите свойство Text для кнопок в "Ok" и "Cancel", а свойство Name в euroOK и euroCancel, соответственно. Вы должны также установить значения свойства DialogResult в Ok и Cancel. Определив кнопки, Вы можете вернуться к свойствам для диалоговой формы и установить значения AcceptButton и CancelButton свойствам euroOK и euroCancel, соответственно.

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

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

Чтобы идентифицировать функцию управления в пределах каждой группы, значение для свойства Text для верхней группы было установлено в “Set Values Limits”, а для нижней группы - в “Set Stars Limits”.

Вы не будете обращаться к объектам GroupBox в коде, поэтому значение свойства Name для них несущественно. Вы можете установить значение свойства Text для каждого компонента Label как показано на рисунке 25.

Значения для свойств (Name) для компонент NumericUpDown в верхней группе должны быть установлены в lowerValuesLimits и upperValuesLimits.

Вы можете установить значения, которые эти компоненты будут выводить, установив значения для свойств Maximum и Minimum. Эти значения для компоненты lowerValuesLimits слева должны быть 44 и 1 соответственно, и значения для свойств Maximum и Minimum для компоненты справа должны быть 49 и 6, соответственно.

Вы можете установить значение свойства Value для компоненты upperValuesLimit в 49; это значение будет первоначально выводиться в компоненте. Если Вы также устанавливаете значение свойства ReadOnly для каждой компоненты NumericUpDown в True, то это предотвратит ввод значений с клавиатуры.

Здесь вы используете компонент NumericUpDown очень просто. Вы можете изменить приращение вниз и вверх, установив значение свойства Increment (Приращение). Свойство Increment имеет тип Decimal, так что Вы можете установить его также.

Рисунок 25

Вы можете установить значения (Name) свойства для компонент ComboBox в нижней группе в lowerStarsLimits и upperStarsLimits.

Вы можете ввести значения, которые будут выведены в ComboBox, очень легко. Щелкните по маленькой стрелке ввверху справа в левом компоненте ComboBox, чтобы вывести меню, показанное на рисунке 26.

Рисунок 26

Выберите пункт меню Edit у основания меню, чтобы вывести окно диалога для Редактора Коллекции строк (String Collection Editor ), как показано на рисунке 27.

Рисунок 27

Рисунок 27 показывает значения, введенные для компоненты ComboBox слева. Для компоненты ComboBox справа Вы можете ввести значения от 2 до 9 включительно.

ComboBox не идеален для этого приложения, потому что эта компонента позволяет как ввод текста, так и выбор из списка; а хотелось бы иметь значения предела, выбираемые только из списка.

Компонента получила свое имя, ComboBox (комбинированный), так как она объединяет функцию элемента ListBox, который позволяет выбирать из списка, с функцией компоненты TextBox, которая обеспечивает ввод текста.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]