Опубликован: 25.03.2010 | Уровень: для всех | Доступ: платный
Лекция 13:

Класс Control и стандартные элементы управления (обзор)

  • Разместите на форме будущего диалогового окна элементы управления и настройте их в соответствии с таблицей свойств (дочерние элементы внутренних контейнеров в таблице отображены составными именами)
Таблица 13.2 . Таблица свойств формы диалогового окна MyModalDialogBox
Элемент Свойство Значение Описание
Form Text Модальное диалоговое окно Текст строки заголовка
FormBorderStyle FixedDialog С неизменяемыми размерами и без иконки системного меню в строке заголовка
Size 600, 450 Размеры окна в пикселах со стандартным соотношением 4/3
AutoScaleMode Font Для подстройки размеров под величину шрифта
ControlBox False Без системных кнопок в строке заголовка
ShowInTaskbar False Не отображать в панели задач рабочего стола Windows
StartPosition CenterParent Начальная позиция при запуске в центре родителя
GroupBox Name grBoxRadioButton Контейнер для радиокнопок
Text Выберите радиокнопку Заголовок контейнера переключателей
GroupBox.RadioButton Text Радиопереключатель1 Надпись радиокнопки
Checked True Изначально включена
GroupBox.RadioButton Text Радиопереключатель2 Надпись радиокнопки
GroupBox.RadioButton Text Радиопереключатель3 Надпись радиокнопки
GroupBox.RadioButton Text Радиопереключатель4 Надпись радиокнопки
GroupBox.RadioButton Text Радиопереключатель5 Надпись радиокнопки
Label Text Укажите свои ФИО Надпись текстовой метки
Font.Bold True Полужирный шрифт надписи
Font.Size 10 Размер шрифта надписи
ForeColor Red Цвет текста
TextBox Name Фамилия Идентификатор русский !!!
Text Иванов
TextBox Name Имя Идентификатор русский !!!
Text Петр
TextBox Name Отчество Идентификатор русский !!!
Text Сидорович
Panel Name panelCheckBox
BackColor White Фон белый
Panel.CheckBox Text Флажок 1
Panel.CheckBox Text Флажок 2
Tag Важный Наша метка
Panel.CheckBox Text Флажок 3
Tag Важный Наша метка
CheckedListBox Name checkedListBox Идентификатор списка флажков
Items

Списковый флажок 1

Списковый флажок 2

Списковый флажок 3

Списковый флажок 4

Списковый флажок 5

Списковый флажок 6

Списковый флажок 7

Элементы списка
Button Name btnOK
AutoSize True Подстройка под размер надписи
DialogResult OK Устанавливает значение свойства DialogResult=OK диалогового окна и закрывает окно
Text OK Надпись на кнопке
Button Name btnCancel
AutoSize True Подстройка под размер надписи
DialogResult Cancel Устанавливает значение свойства DialogResult=Cancel диалогового окна и закрывает окно
Text Cancel Надпись на кнопке

После проведенных настроек форма диалогового окна должна стать такой


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

  • Создайте обработчик события Click кнопки в главном диалоговом окне и заполните его так
private void btnCreateDialogBox_Click(object sender, EventArgs e)
{
txtShowProperties.Text = "";
    
MyModalDialogBox dlg = new MyModalDialogBox();
if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  {
  // Диалоговое окно еще существует, опрашиваем его
  foreach (Control ctrl0 in dlg.Controls)
    {
    ShowProperties("", ctrl0);
    if (ctrl0.Controls.Count > 0)
      foreach (Control ctrl1 in ctrl0.Controls)
        {
        ShowProperties("\t", ctrl1);
        }
    }
  }
else
  txtShowProperties.Text = "Пользователь установки не менял";
    
dlg.Dispose(); // Освободили явно ссылку на диалоговое окно
}
    
private void ShowProperties(string str, Control ctrl)
{
txtShowProperties.Text += str + "Name: " + 
  ctrl.Name + "\r\n";
if (!(ctrl is Panel) && !(ctrl is CheckedListBox))
  txtShowProperties.Text += str + "Text: " + 
  ctrl.Text + "\r\n";
if(ctrl is CheckedListBox)
  {
  CheckedListBox check = (CheckedListBox)ctrl;
  for (int i = 0; i < check.Items.Count; i++)
    txtShowProperties.Text += "\t" + 
  check.Items[i].ToString() + "\r\n";
  }
if ((String)ctrl.Tag == "Важный")
  txtShowProperties.Text += "!!!Помеченный нами в 
  свойстве Tag!!!" + "\r\n";
}
Листинг 13.4 . Обработчик события btnCreateDialogBox_Click в файле MainForm.cs
Максим Филатов
Максим Филатов

Прошел курс. Получил код Dreamspark. Ввожу код на сайте, пишет:

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

 

Как активировать код?

Денис Пашков
Денис Пашков
Россия
Татьяна Ковалюк
Татьяна Ковалюк
Украина, Киев, Киевский политехнический институт, 1974