2010-08-31 3 views
1

У меня есть существующее приложение (C#/Win формы). Мне нужно добавить функциональность в приложение, чтобы он мог запустить другой экземпляр самостоятельно и сделать некоторые из элементов управления в форме отключенными. Это может быть очень просто реализовать, используя простое наследование или может быть некоторый цикл if else, но это приложение должно информировать свои зависимые сборки о состоянии. Я ищу наиболее элегантный, чтобы сделать это. Я не хочу изменять текущие файлы, просто добавляя к существующим функциям. Любые предложения будут очень полезны.Многофункциональная версия приложения

+0

Что вы пытаетесь выполнить в описании высокого уровня? Зачем вам нужны два разных экземпляра? – JoshVarga

+0

Мне нужно запустить версию приложения только для чтения. Это отключит некоторые элементы управления формы. Второй экземпляр будет запущен с использованием меню первого. – Dhruv

ответ

1

Вы можете создать еще один экземпляр так:

 System.Diagnostics.Process.Start(
      System.Reflection.Assembly.GetEntryAssembly().Location, 
      "disable"); 

Вы можете проверить аргументы командной строки с кодом, как это в виде конструктора:

public Form1() { 
     InitializeComponent(); 
     if (Environment.CommandLine.ToLower() == "disble") { 
      button1.Enabled = false; 
      // etc.. 
     } 
    } 

Для отладки это, вы должны использовать проект + Свойства, вкладка «Отладка», отключить «Включить процесс хостинга Visual Studio».

+0

Спасибо. Довольно близко к моему требованию. Но это самый изящный способ? Так как отключение элементов управления должно выполняться во множестве форм и ссылок на сборку. – Dhruv

+0

Ну, сделайте это статическим свойством. Надеюсь, вы можете ударить по форме по своему вкусу. –

Смежные вопросы