На нашем сайте Вы сможете найти готовые курсовые и дипломные работы по программированию
Сейчас работаем

Планировщик помещений C#

Задание 

Моделирование планировщика помещений.Разработать визуальный конструктор (редактор), позволяющий создавать планы помещенийРеализовать методы, с помощью которых пользователь может перемещать объекты на плане, изменять их размеры. Реализовать функцию сохранения/загрузки плана в файл с помощью перегрузки операторов ввода/вывода в поток для созданных классов.

Словесное описание работы программы:

Есть две вкладки, на первой производим планирование, на второй выполняется подготовка - создаются элементы. Создание элемента: переходим на вторую вкладку, выбираем в комбобоксе "Новая фигура". Далее рисуем фигуру, вводим ее название и жмем Добавить. Фигуры сохраняюся в библиотеке даже при выключении программы. Добавленные фигуры сразу отображаются на первой вкладке и их можно использовать.

Моделирование:

  • На первой вкладке можно рисовать стены и добавлять элементы из библиотеки. Для этого надо произвести двойной клик по элементу.
  • Рисование (стен и элементов):Числовое поле задает толщину линий.
  • Чекбокс указывает, новая линия будет горизонтальной или вертикальной или же может быть под углом.
  • Кнопка Добавления позволяет добавлять отрезки. Добавление осуществляется кликами по полю рисования (когда включена кнопка)
  • Кнопка удаления позволяет удалить отрезок, для этого надо кликнуть по удаляемому отрезку
  • Кнопка перемещения позволяет перемещать вершины или фигуру целиком,  если выделена вершина, будет перемещаться только она, если выделено любое ребро, то перемещаться будет вся фигура.
  • Кнопка масштабирования меняет размер фигуры, для этого надо активировать эту кнопку и потянуть за одну из граней фигуры (с точками не работает)
  • Кнопка вращения поворачивает фигуру целиком, для этого для этого надо активировать эту кнопку и потянуть за одну из граней фигуры налево или направо (с точками не работает)

Библиотека элементов хранится в файле data.lib Она загружается-сохраняется при включении или выключении программы.

Планировка помещения сама не сохраняется, для сохранения-загрузки нужно кликнуть по соответствующим кнопкам и указать в диалоге путь к файлу.

Данные хранятся в двоичном виде. И работа с ними осуществляется с помощью сериализации (производится наследование от ISerializable и переопределены методы сохранения –загрузки) 

Фрагмент программного кода

namespace RoomsDesigner
{
    [Serializable]
    class Figure : ISerializable
    {
        public List<Edge> edges;
        public PointF centerOperation;
        PointF p1, p2;       //начало и конец отрезка
        bool first = false;         //какая точка установлена
        bool needCircle;
        bool selectVertex;
        bool inWall = false;
        bool wallSelect = false;
        PointF pCircle;
        public bool mouseDown = false;

        public string name;

        int selectVertPos;

        PointF pointDown;

        public int typeOperation = -1;

        Edge remEdge = null;

        public Figure(SerializationInfo sInfo, StreamingContext contextArg)
        {
            this.edges = (List<Edge>)sInfo.GetValue("edges", typeof(List<Edge>));
            this.name = (string)sInfo.GetValue("name", typeof(string));
            needCircle = false;
            selectVertex = false;
        }

        public Figure(Figure figure)
        {
            edges = new List<Edge>();
            foreach (Edge edge in figure.edges)
            {
                edges.Add(new Edge(edge));
            }

            needCircle = false;
            selectVertex = false;
        }

Содержание архива

  • исходный код  на C# для Visual Studio 2010 (будет работать и в более новых версиях)

Купить 3500,00 
Сразу после оплаты Вы сможете скачать работу и мы вышлем дополнительно файл с работой на электронную почту. Исходник программ Вы сможете отредактировать, как Вам нужно.
Комментарии (0)

/ /

Оставить комментарий

Ты не можешь комментировать

Только зарегистрированые пользователи имеют возможность комментировать работы
Купить

3500,00 

Сразу после оплаты Вы сможете скачать работу и мы вышлем дополнительно файл с работой на электронную почту. Исходник программ Вы сможете отредактировать, как Вам нужно.

Заказать через

RoomsDesigner.rar
157081
Оцени работу

рейтинг

Планировщик помещений C#
Моделирование планировщика помещений. Разработать визуальный конструктор (редактор), позволяющий создавать планы помещений Реализовать методы, с помощью которых пользователь может перемещать объекты на плане, изменять их размеры. Реализовать функцию сохранения/загрузки плана в файл с помощью перегрузки операторов ввода/вывода в поток для созданных классов.
Категория: Образование
Стоимость: 3500,00