多版本的应用程序

时间:2010-08-31 02:01:17

标签: c# .net winforms design-patterns

我有一个现有的应用程序(C#/ Win表单)。我需要向应用程序添加功能,以便可以启动它自己的另一个实例并禁用表单中的某些控件。使用简单继承实现它可能非常容易,或者可能是一些if else循环,但是此应用程序必须通知其依赖的状态组件。我正在寻找最优雅的做法。我并不热衷于修改当前文件,只是添加现有功能。任何建议都会有很大的帮助。

1 个答案:

答案 0 :(得分:1)

您可以启动另一个这样的实例:

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

您可以使用表单构造函数中的代码测试命令行参数:

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

要进行调试,必须使用Project + Properties,Debug选项卡,取消选中“启用Visual Studio托管过程”。