2013-08-08 6 views
1

У меня есть проект Visual Studio, который использует C#, и это, вероятно, Console Application. Когда я пытаюсь запустить/Build/Debug Project, это выглядит для метода Main в существующем классе. Я добавил форму Windows в этом проекте, и я хочу, чтобы она запускалась в версии Windows Form, а не в командной строке (ожидающие аргументы). Можете ли вы рассказать мне, как отредактировать время выполнения проекта, чтобы искать Windows Forms вместо static void main()?.NET C# основной метод и формы окон

+0

Может быть, это глупый вопрос, но вы объявили проект Windows Form как " Запуск проекта "? – Santanor

+0

Вы можете изменить объект запуска? (свойства проекта) – Sayse

+0

В вашем приложении WindowForms должен присутствовать метод 'Main', и установите приложение windowsForms как' StartUpProject' –

ответ

2

Метод 1

В основной функции используйте следующее:

Application.Run(new Form1()); 

Вам также необходимо добавить следующую строку в верхней части файла:

using System.Windows.Forms; 


Способ 2

В основной функции, можно добавить следующее:

Form1 c = new Form1(); 
c.ShowDialog(); 


Оба метода будет показывать форму в виде диалога. Однако консоль все еще будет видна в фоновом режиме.

Если вы хотите, чтобы затем скрыть окно консоли следующую ссылку дает инструкции, чтобы сделать так (но это немного запутанным):

http://social.msdn.microsoft.com/Forums/vstudio/en-US/ea8b0fd5-a660-46f9-9dcb-d525cc22dcbd/hide-console-window-in-c-console-application

+0

. Я дам ему попробовать и дам вам знать. – charilaos13

+0

Я не могу получить приложение. Ты знаешь почему? – charilaos13

+0

вам нужно добавить 'using System.Windows.Forms;' я обновил приведенные выше примеры ... –

1

При создании нового приложения консоли, по умолчанию является добавьте класс с именем Program по методу Main

Что-то вроде этого.

class Program 
{ 
    static void Main(string[] args) 
    { 
    } 
} 

В то время как по умолчанию для приложения Windows, является

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

Как это помогает мне с моим вопросом. Я знаю, как это выглядит. – charilaos13

+0

Сделав это, да, мы можем запустить 'Form1', но как скрыть окно консоли, которое работает на backgroud? –

1

Вы можете изменить тип project

Небольшая коррекция: Visual Studio не следит шаблона проекта используется для создания проект. Система проекта в основном не знает первоначальный шаблон, используемый для проекта. В системе проекта есть несколько элементов (например, Тип проекта), которые имеют , но это совпадение, и два не были окончательно исправлены.

The only thing that can really be changed in terms of the project type is essentially the output type. This can have value Class 

Библиотека, приложение для консоли и приложение для Windows. Вы можете изменить , перейдя на страницу свойств проекта (щелкните правой кнопкой мыши «Свойства») и измените поле «Тип вывода».

It is possible to have other project types supported by the project system but they are fairly few and are not definitively associated with a project template. 

enter image description here

+0

Я уже делал это, но все же, когда я нажимаю F5, он ищет Основной метод. Мне нужно, чтобы он начинался в моей форме, а не в MAIN(). – charilaos13

+0

в основном методе вы можете получить экземпляр из формы –

+0

Итак, вы говорите, что единственный способ сделать приложение из моих добавленных форм Windows - это вызвать их через MAIN Method? – charilaos13

2

Изменить ур Programe.cs файл в

class Program 
    { 
    [STAThread] 
    static void Main() 
    { 
     // 
     Application.EnableVisualStyles(); 
     Application.SetCompatibleTextRenderingDefault(false); 
     // 
     Application.Run(new Form1()); 

    } 
    } 

А затем правой кнопкой мыши на Console project и перейти к properties и Set Output Type как Windows Application

+0

Когда я попробовал ваше предложение, я получил: 'Имя Приложение не существует в текущем контексте' – charilaos13

+0

Я думаю, что я получил его:' using System.Windows.Forms; ' – charilaos13

+0

Когда U добавляет новую Windows Form в проект ур, тогда автоматически требуется DLL добавляется в ссылки на проекты, используйте их. –

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