A工程中,已存在form1.cs文件,在不打开它的情况下,在B工程中实现,在A工程中添加代码生成一个控件,比如textbox

解决方案 »

  1.   

    具体怎么实现,有人教我吗,谢谢了
    我现在是这样写的:
            EnvDTE80.DTE2 dte2;
            dte2 = (EnvDTE80.DTE2)System.Runtime.InteropServices.Marshal.GetActiveObject("VisualStudio.DTE.8.0");
            createProjectsFromTemplates(dte2);
            public void createProjectsFromTemplates(DTE2 MacrosDTE2)
            {
                try
                {
                    string csPrjPath = "";
                    Solution2 soln = (Solution2)MacrosDTE2.Solution;
                    string csTemplatePath;
                    csPrjPath = "C:\\Documents and Settings\\panji\\My Documents\\Visual Studio 2005\\Projects\\SProject";
                    csTemplatePath = soln.GetProjectTemplate("WindowsApplication.zip", "CSharp");
                    soln.AddFromTemplate(csTemplatePath, csPrjPath, "CSharp Windows Project", false);
                    Project proj = soln.Projects.Item(2);
                    soln.Remove(proj);
                }
                catch (System.Exception ex)
                {
                    throw ex;
                }
            }  
    但是这个必须要打开visual studio才能生成另外一个新的form,如果在debug或release环境下则会报错。。
      

  2.   

    一般的生成控件textbox,你可以打开A工程,然后在他的窗体上,拖动工具生成,或者在他的cs文件中写代码生成,但我现在需要不打开A工程,而在B工程中写代码实现在A工程中,生成这个textbox控件
      

  3.   

    用文件操作试试。
    在A中放一个标签,比如█,然后B操作的时候读取A中查找█,替换成你想要的代码……
    个人意见……
      

  4.   

    你在A工程中動態添加一個控件,代碼應該在form1.cs中寫。
    在B工程中實現,可以採用自寶義消息的方式來通知A工程。也可以利用插件的方式.
      

  5.   

    不行啊因为A工程,也是在B中调用Solution2生成的,里面只有最初的窗体和代码
      

  6.   

    A的窗口是直接调用B窗口的一个类,那修改B窗口的类,A窗口就会跟着变了.就像插件动态加载一样
      

  7.   

    这么说吧,在B工程中,要先生成A工程,然后再在B工程中,生成A工程里需要的控件和固定代码。。