Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
insrukcii k lr3_ robota z podiyamy.doc
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
883.71 Кб
Скачать

Запускающее приложение

Если вы все делали так как описано, то исполнимые сборки для упражнений 1 и 2 должны находиться относительно папки решений FormsXNA в подпапках:

FormsXNA\Application1\bin\Debug\Application1.exe

FormsXNA\Application2\bin\Debug\Application2.exe

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

  • Добавьте к решению новый проект с именем StartForm и сделайте его стартовым

  • Переименуйте файл формы Form1.cs в StartForm.cs и откройте его в режиме View Designer и поместите на форму два экземпляра компонентаLinkLabel

  • Создайте для них обработчики события LinkClicked и заполните их следующим кодом

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.IO;

namespace StartApp

{

public partial class StartForm : Form

{

System.Diagnostics.Process exe = new System.Diagnostics.Process();

String path; // Путь к папке с решением

public StartForm()

{

InitializeComponent();

path = Directory.GetCurrentDirectory();// Получаем путь к сборке StartForm

int pos = path.LastIndexOf(@"\bin\");

path = path.Substring(0, pos);// Убираем 2 последних секции пути

pos = path.LastIndexOf(@"\");

path = path.Substring(0, pos);// Убираем еще одну секцию

}

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

{

Directory.SetCurrentDirectory(path + @"\Application1\bin\Debug");// Путь к сборке

exe.StartInfo.FileName = "Application1.exe";

System.Diagnostics.Debug.WriteLine(path); // Для отладки в окно Output

exe.Start();

}

private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

{

Directory.SetCurrentDirectory(path + @"\Application2\bin\Debug");// Путь к сборке

exe.StartInfo.FileName = "Application2.exe";

System.Diagnostics.Debug.WriteLine(path); // Для отладки в окно Output

exe.Start();

}

}

}

Код будет работать при условии, что сборка стартовой формы находится в своем каталоге bin дерева решения.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]