![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Пункт 1
Для создания MDI-приложения откройте проект, созданный в первой работе и установите для формы свойство IsMdiContainer в true, это будет определять форму как родительское окно MDI приложения.
Задайте через свойства формы размер родительского окна 1000x700.
Пункт 2
Для создания меню приложения Visual Studio.NET имеет в панели ToolBox компонент MenuStrip. Добавьте на форму родительского окна компонент MenuStrip. В панели компонентов ниже основной формы приложения появится объект MenuStripl. В верхней части формы появится проект меню с единственным полем «Туре Неге». Поле является редактируемым, если вы измените надпись в поле, то справа и снизу от него появятся дополнительные поля. Добавьте в меню верхнего уровня пункт «Window» и в его подменю пункт «New». В панели свойств этих пунктов меню в поле «Text» введите русские названия этих пунктов меню – соответственно «Окно» и «Новое».
Для свойства MainMenuStrip в панели свойств формы выберите значение menuStrip1.
Для реализации окон документов MDI-приложения требуется добавить к проекту соответствующую новую форму (Form2). Для этого введите команду «Project»-«Add Windows Form». Для созданной формы документа задайте размеры (800x600) и белый цвет фона.
Укажите, что в меню Window следует отображать список созданных окон. Для этого зайдите в панель свойств меню (Properties – menuStrip1) и там для свойства MdiWindowListItem выберите значение WindowToolStripMenuItem.
Сгенерируйте обработчик команды меню «Окно»-«Новое» двойным щелчком по пункту «Новое» на странице дизайна формы. В тело обработчика поместите следующий код создания и отображения нового окна документа:
Form f = new Form2();
f.MdiParent = this;
f.Text = "Рисунок " + this.MdiChildren.Length.ToString();
f.Show();
Пункт 3
Для решения задачи по рисованию прямоугольников в классе Form2 потребуется обрабатывать события мыши MouseDown, MouseMove, MouseUp. Добавьте соответствующие методы-обработчики.
Затем требуется добавить поля данных в класс Form2:
· для хранения координат рисуемого прямоугольника;
· объекта Graphics;
· флага нажатой кнопки мыши (признака процесса рисования).
При нажатии на левую кнопку следует:
· инициализировать объект Graphics;
· устанавливать флаг рисования;
· инициализировать начальные координаты прямоугольника.
При перемещении мыши следует:
· проверять флаг рисования,
· и если он установлен, то рисовать промежуточный пунктирный контур прямоугольника, предварительно стирая контур, нарисованный в предыдущем вызове этого обработчика. (Для стирания контура можно рисовать поверх него прямоугольник цветом фона).
При отпускании левой кнопки мыши следует:
· проверять флаг рисования,
· и если он установлен, то стирать последний промежуточный контур,
· рисовать окончательный контур прямоугольника обычным пером,
· сбрасывать флаг рисования.
Стиль пунктирного пера для промежуточного рисования прямоугольников задаётся следующим образом:
pen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
Белое перо для стирания промежуточных контуров может быть создано так:
new Pen(Color.White, 1)
Следует учесть, что методу DrawRectangle должен передаваться нормализованный прямоугольник, у которого значения координат первой точки всегда меньше значений соответствующих координат второй точки. Поскольку мышь в процессе рисования может оказаться левее и выше точки нажатия на левую кнопку, её текущие координаты нельзя непосредственно использовать в качестве координат второй точки, задающей прямоугольник. Перед передачей четырёх координат в метод Rectangle.FromLTRB их следует предварительно упорядочивать, используя вспомогательные переменные, таким образом, чтобы в первой паре аргументов передавались всегда меньшие значения координат.
Дата публикования: 2015-06-12; Прочитано: 299 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!