Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции C# Часть 2 с желтым.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
617 Кб
Скачать
☆

Элементы управления

Как мы уже говорили, внешний вид (официально – визуальный интерфейс) оконного приложения основан на стандартном наборе элементов, которые можно размещать в окне (на форме) приложения. Существует несколько десятков видов таких элементов (их еще называют элементами управления, а по-английски – control). Каждый вид элементов управления реализован с помощью некоторого класса. Все классы элементов управления являются производными от класса Control. Класс Control и все классы элементов управления находятся в пространстве имен System.Windows.Forms. Наиболее популярными являются командные кнопки (класс Button), надписи или метки (класс Label) и поля ввода (класс TextBox). Программно управлять внешним видом элементов управления можно через соответствующие открытые свойства классов. Например, размер элемента управления можно узнать или изменить с помощью свойств Height (высота) и Width(ширина). Одной из важных составляющих Вашего умения создавать оконные приложения является знание этих многочисленных свойств.

Усовершенствуем нашу программу. После запуска в окне программы должны размещаться две кнопки. Размеры и расположение элементов на форме показаны на следующем рисунке:

Для реализации такого поведения текст программы следует изменить следующим образом:

  1. using System;

  2. using System.Windows.Forms;

  3. using System.Drawing;

  4. static class Program

  5. {

  6. static void Main()

  7. {

  8. int FormHeight=300;

  9. int FormWidth=500;

  10. Form f;

  11. Button b1;

  12. Button b2;

  13. //создание и настройка формы

  14. f = new Form();

  15. f.ClientSize = new Size(FormWidth, FormHeight);

  16. //создание и настройка первой кнопки

  17. b1 = new Button();

  18. b1.Left = FormWidth / 5; //расстояние левой грани кнопки от левой грани клиентской области формы

  19. b1.Top = FormHeight / 3; //расстояние верхней грани кнопки от верхней грани клиентской области формы

  20. b1.Width = FormWidth / 5; //ширина кнопки

  21. b1.Height = FormHeight / 3; //высота кнопки

  22. //создание и настройка второй кнопки

  23. b2 = new Button();

  24. b2.Bounds = new Rectangle(3*FormWidth / 5, FormHeight / 3, FormWidth / 5, FormHeight / 3);

  25. //добавление кнопок на форму

  26. f.Controls.Add(b1);

  27. f.Controls.Add(b2);

  28. //запуск цикла обработки событий

  29. Application.Run(f);

  30. }

  31. }

Текст программы существенно вырос. Объясним все подробнее.

  1. В программе используются классы из пространства имен System.Drawing. Поэтому не забудьте доавить в проект ссылку (reference) на это пространство имен и соответствующую директиву using в текст программы (стр.03).

  2. Для удобства управления размерами в стр. 08 и 09 вводятся вспомогательные переменные FormHeight (высота формы) и FormWidth(ширина формы). Они определяют размер внутренней области окна (клиентской области), не включающей заголовок и рамку вокруг окна.

  3. Программа должна обращаться к свойчтвам формы и кнопок. Поэтому для ссылки на эти объекты в стр. 10-12 описываются соответствующие переменные.

  4. После создания объекта-формы в стр.14 ее клиентский размер задается с помощью свойства ClientSize. Значением этого свойства является ссылка на объект класса Size из пространства имен System.Drawing (стр.15).

  5. Первая кнопка создается в стр.17. Ее положение и размер задаются свойствами Left, Top, Width и Heigh (стр.18-21).

  6. Вторая кнопка создается в стр.23. Ее положение и размер задаются другим способом – с помощью свойства Bounds (границы), значением которого является объект Rectangle (прямоугольник) (стр.24). В дальнейшем выбирайте тот способ управления, который Вам больше подходит.

  7. Следующий момент очень важен и часто вызывает на практике ошибки. Объекты кнопки пока никак не связаны с объектом-формой. Поэтому программа хотя и создает все объекты, но не показывает кнопки внутри формы. Для показа кнопок на форме их необходимо добавить в специальный контейнер формы, который доступен через свойство Controls. Это делается методом Add в стр. 26 и 27.

  8. Наконец в стр. 29 форма показывается на экране и начинает взаимодействовать с пользователем.