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



 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

( Name ) изменим с Form 1. cs 2 на LWP 20 Main

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

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

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

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

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

Size изменим со значений 300; 300 на 4 00; 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;

   }

 

В самом начале файла формы LWP 20 Main . 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»

 

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

 


Дата добавления: 2019-09-13; просмотров: 176; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!