Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторный_практикум.doc
Скачиваний:
74
Добавлен:
15.11.2019
Размер:
45.35 Mб
Скачать

2. Создание приложения Windows Forms

Запускаем Visual Studio 2010, откроется Начальная страница:

Для начала, надо создать проект, для этого выполним последовательно: Файл -> Создать -> Проект… (также можно просто нажать сочетание клавиш Ctrl+Shift+N или пункт «Создать проект…» на Начальной странице):

Рис. 2. 1. Создание нового проекта

Выберем слева в пункте Установленные шаблоны язык Visual C#, далее найдём в списке Приложение Windows Forms. Также здесь можно выбрать какой использовать «фреймворк» (набора компонентов для написания программ). В нашем случае выберем .NET Framework 4.

Рис. 2. 2. Окно создания нового проекта

В поле Имя вводим LWP20Inventor это название программы (выбрано по названию лабораторного практикума, номеру и названию работы). В поле Расположение указана конечная директория, где будет находиться весь проект. Выберем расположение удобное для быстрого поиска. В поле Имя решения вводится либо название программы «по умолчанию» из поля Имя автоматически, либо можно ввести своё собственное. Под этим именем будет создана конечная папка проекта (если Имя и Имя решения разные).

Рис. 2. 3. Вводим данные нового проекта приложения Windows Forms

После нажатия клавиши ОК, мы увидим сформированный проект и исходный код приложения Windows Forms (не пустого изначально).

Рис. 2. 4. Обозреватель решений: состав проекта приложения Windows Forms сформированного средой разработки

Теперь, можно откомпилировать созданную программу, нажав клавишу F5 ( Отладка -> Начать отладку или нажав на иконку . Тем самым мы запускаем приложение в режиме отладки (и производим компиляцию debug-версии программы) (Debug выбрано изначально).

Рис. 2. 5. Запуск приложения Windows Forms по конфигурации Debug

3. Модификация приложения Windows Forms: запуск и завершение приложения Inventor

Для начала изменим размер нашей единственной формы. Для этого можно потянуть за уголок в нужном направлении на странице визуального представления формы1. Но также размер можно менять на панели свойств этой формы. Для этого нужно поменять значение размера в пикселях (высоту и ширину) в поле Size.

ПРИМЕЧАНИЕ № 1: Для перехода на визуальное представление формы, необходимо двойным нажатием в обозревателе решений нажать на значок формы ( ) или выбрать вкладку на панели вкладок с именем <имя формы>.cs [Конструктор].

Задаём следующие параметры формы на панели Свойства:

(Name)

изменим с Form1.cs2 на LWP20Main

^ Поменяем внутреннее имя формы.

Text

изменим с Form1 на Работа с Inventor (C#)

^ Поменяем заголовок формы (то что отображается в шапке приложения слева).

Icon

изменим изображение (иконку) приложения

^ Необходим файл значка *.ico.

Size

изменим со значений 300; 300 на 400; 300

^ Поменяем размер формы.

ПРИМЕЧАНИЕ № 2: Для того, чтобы поменять имя файла нашей формы, необходимо выполнить следующее: выделить в обозревателе решений значок формы ( ) и нажать правую кнопку мыши, затем выбрать Переименовать. Ввести необходимое новое имя СОХРАНЯЯ расширение *.cs. После смены имени, автоматически поменяются имена проассоциированных непосредственно с формой файлов:

Получим нечто подобное:

Рис. 3. 1. Модифицированная форма приложения

Установим на форме в левом верхнем углу две кнопки Button. Параметры кнопки будут следующими:

(Name):

B_Open

Text:

Запустить AIP 2012

Size:

1550; 23

(Name):

B_Close

Text:

Завершить работу AIP 2012

Size:

155; 23

Установим также GroupBox для объединения элементов управления в группу. Параметры такие:

(Name):

GB_Open

Text:

Запуск и завершение приложения Inventor

Расставим эти элементы как показано на рисунке ниже:

Рис. 3. 2. Расстановка элементов управления первой группы элементов

Теперь необходимо добавить ссылку на основную библиотеку компонентов для Autodesk Inventor Professional 2012 (COM-библиотека: Autodesk Inventor Object Library, версии 1.0)

Для добавления последовательно выполним: Проект -> Добавить ссылку... ->в открывшемся окне перейти на вкладку COM-компоненты:

Рис. 3. 3. Добавление нового элемента Autodesk

Двойным щелчком по кнопке B_Open и B_Close в конструкторе форм, создаём код для события нажатия (событие Click) со следующим кодом для двух кнопок (B_Open и B_Close соответственно):

private void B_Open_Click(object sender, EventArgs e)

{

LaunchInventor(true);

}

private void B_Close_Click(object sender, EventArgs e)

{

CloseInventor();

B_Close.Enabled = false;

B_Open.Enabled = true;

}

А ниже после этого кода добавим код вышеупомянутых методов открытия и закрытия экземпляра приложения Inventor.exe:

private bool LaunchInventor(bool bVisible)

{

// Inventor уже был запущен?

Process[] aInventor = Process.GetProcessesByName("Inventor");

if (aInventor.Length == 0)

{

// Запускаем экземпляр приложения Inventor

Process InventorProcess = System.Diagnostics.Process.Start("C:\\Program Files\\Autodesk\\Inventor 2012\\Bin\\Inventor.exe");

B_Close.Enabled = true;

B_Open.Enabled = false;

Thread.Sleep(20000);

}

// Подключаемся к запущенному экземпляру Inventor

oApp1 = (Inventor.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Inventor.Application");

if (oApp1 == null)

{

return false;

}

// Предотвращаем выскакивание сообщений об ошибках

oApp1.SilentOperation = true;

// Делаем экземпляр приложения видимым

oApp1.Visible = bVisible;

return true;

}

// Закрываем экземпляр Inventor

private bool CloseInventor()

{

// quit Inventor - we're done with it

if (oApp1 != null)

{

oApp1.Quit();

oApp1 = null;

}

return true;

}

В самом начале файла формы LWP20Main.cs добавим следующие объявления для функционирования кода формы:

using System.Threading;

using System.Diagnostics;

using Inventor;

using System.Reflection;

Найдём в этом же файле:

public partial class Form1 : Form

{

И добавим после:

// Объявляем экземпляр переменной oApp1 для доступа к объектам Inventor.Application

// Таким образом, будет получена возможность в работы в этом классе

private Inventor.Application oApp1;

Текст метода LWP20Main() изменим так:

public LWP20Main()

{

InitializeComponent();

B_Close.Enabled = false;

}

Компилируем приложение (Debug) и запускаем. Жмём первую кнопку и запускаем Inventor (Рис. 3. 4):

Рис. 3. 4. Запуск приложения Inventor после нажатия кнопки «Запустить AIP 2012»

Закрываем экземпляр приложения нажатием другой кнопки.