2017-12-21 14 views
2

Ich habe ein leeres CLR-Projekt in Visual Studio 2017 erstellt und Windows Forms hinzugefügt. Nach dem Start der App öffnet sich eine Eingabeaufforderung und meine Formularanwendung. Gibt es eine Möglichkeit, die Eingabeaufforderung zu deaktivieren? SreenshotVisual C++ - Anwendung öffnet eine Eingabeaufforderung hinter dem Formular

+0

Ändern Sie die Einstellung zu 'GUI App' anstelle von 'Console App' in den Projekteinstellungen. – zx485

+0

@ zx485 Ich habe versucht, in jeder Kugel in der Registerkarte Eigenschaften zu suchen, aber es gibt keinen Punkt, der etwas über GUI-App oder Konsolen-App sagt. Vielleicht schaue ich am falschen Ort? –

Antwort

2

Sie müssen das laufende Subsystem von Console zu GUI in den Projekteigenschaften ändern (siehe Bild im Anhang).

Vergessen Sie auch nicht, int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow); als Ihre Hauptfunktion zu verwenden.

settings

+0

Ich habe das Subsystem zu Windows getagt, weil tere keine GUI-Option ist und es gab mir einen Fehler auch ich verstehe nicht, was "Nicht vergessen, int WINAPI wWinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow) zu verwenden als deine Hauptaufgabe. " meint. Sorry für meine Dummheit, ich bin neu in diesem. –

+0

Es ist die im Windows-Subsystem aufgerufene Funktion anstelle von 'int main' –

+0

Was bedeutet das? Soll ich es als Hauptfunktion bezeichnen oder soll ich es als Einstiegspunkt bezeichnen? –

0

Ok. Endlich habe ich die Formulare richtig funktionieren lassen, indem ich den Einstiegspunkt auf main und das SubSystem auf Windows (/ SUBSYSTEM: WINDOWS) gesetzt habe. Außerdem habe ich einige Zeilen zur MyForm.cpp hinzugefügt. Jetzt sieht es aus wie

#include "MyForm.h" 

using namespace System; 
using namespace System::ComponentModel; 
using namespace System::Collections; 
using namespace System::Windows::Forms; 
using namespace System::Data; 
using namespace System::Drawing; 


[STAThreadAttribute] 
int main(array<System::String ^> ^args) 
{ 
    Application::EnableVisualStyles(); 
    Application::SetCompatibleTextRenderingDefault(false); 
    Project1::MyForm mainForm; 
    Application::Run(%mainForm); 
    return 0; 
} 

Dank: @ AntonMalyshev und @ zx485

Verwandte Themen