Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Рекомендации по выполнению задания



Пункт 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...