부인 성명
이를 달성하는 방법은 매우 간단하지만 다른 사람들에게 보여줄 앱에 대한 좋은 접근 방식은 아닙니다. 그러나 일부 개발자가 콘솔과 Windows 양식을 동시에 표시해야하는 경우 매우 쉽게 수행 할 수 있습니다.
이 방법은 콘솔 창만 표시하는 것도 지원하지만 Windows Form 만 표시하는 것은 지원하지 않습니다. 즉, 콘솔이 항상 표시됩니다. Windows 양식을 표시하지 않으면 콘솔 창과 만 상호 작용 (즉 Console.ReadLine()
, 데이터 수신- , Console.Read()
) 할 수 있습니다 . 콘솔로 출력-- Console.WriteLine()
두 모드 모두에서 작동합니다.
이것은있는 그대로 제공됩니다. 이것이 나중에 끔찍한 일을하지 않을 것이라는 보장은 없지만 작동합니다.
프로젝트 단계
표준 콘솔 응용 프로그램 에서 시작합니다 .
Main
방법을 다음과 같이 표시하십시오.[STAThread]
프로젝트의 참조를 System.Windows.Forms 에 추가합니다.
프로젝트에 Windows Form 을 추가합니다 .
Main
방법에 표준 Windows 시작 코드를 추가합니다 .
최종 결과
콘솔 및 선택적으로 Windows 양식을 표시하는 애플리케이션이 있습니다.
샘플 코드
Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace ConsoleApplication9 {
class Program {
[STAThread]
static void Main(string[] args) {
if (args.Length > 0 && args[0] == "console") {
Console.WriteLine("Hello world!");
Console.ReadLine();
}
else {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
}
Form1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace ConsoleApplication9 {
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
private void Form1_Click(object sender, EventArgs e) {
Console.WriteLine("Clicked");
}
}
}