Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Как подключить форму?


Автор: VisMaster 13.9.2007, 00:50
Здравствуйте, наверное вопрос у меня простой, но все же: у меня есть 2 проекта в Solution, один ConsoleApplication, а второй WindowsApplication.
Сделал форму Form1 в WindowsApplication, она свое возращаемое значение записывает в NameDerectory. 

Так вот, не знаю как вызвать эту форму в ConsoleApplication?

Автор: Experimenter 13.9.2007, 06:07
Код

            System.Diagnostics.Process p = System.Diagnostics.Process.GetProcessesByName(@"C:\Directory\windowsapplication1.exe");
            p.Start();


с праздником!

Автор: zaver 13.9.2007, 10:41
это пройдет, если эта форма вызывается при старте программы. обычно, если надо получить полный доступ из одного проекта в solution в другом, то надо:
взять тот проект в котором нужен доступ к другому проекту (в твоем случае ConsoleApp), в references подключить WinApp проект (отдельная закладка). добавить uses в ConsoleApp и пользоваться открытыми объектами из WinApp, как "родными"

Автор: VisMaster 14.9.2007, 00:13
сделал все так как сказал zever, тока все равно что то не хочет.

код формы, стандартный
Цитата

namespace FormToEnterDir
{
    public class Program1
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());

        }
    }
}
 



что надо написать в ConsoleApp ???? smile 

Автор: archeg 14.9.2007, 12:03
Это не код формы, а код точки входа)

 smile Консолька - есть консолька, винапп есть винапп. Зачем извращатся и делать из консольки винапп? Создай лучше винапп... 

Если уж очень нужно так вот пример:
Код

class Program
    {
        [STAThread]
        static void Main(string[] args)
        {
            string s = Console.ReadLine();
            if (s=="form")
            {
                Application.Run(new Form1());
            }
        }
    }

Автор: VisMaster 14.9.2007, 12:43
Ага, переделал консольку в винапп, просто сначала начал делать консоль а потом мне уже сказали что должны быть формы, вот я и мучился...
Спасибо!!

Автор: archeg 14.9.2007, 13:02
Цитата(VisMaster @  14.9.2007,  12:43 Найти цитируемый пост)
Ага, переделал консольку в винапп, просто сначала начал делать консоль а потом мне уже сказали что должны быть формы, вот я и мучился...


В проперейтсах проекта есть где-то опция отвечающая за то под что компилить. Переставь ее из Console Application в Windows Application и будет тебе из консольки винапп. А точку входа тогда уже поменяй на:
Код

 public class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());

        }
    }

 smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)