Khước từ
Có một cách để đạt được điều này khá đơn giản, nhưng tôi sẽ không gợi ý rằng đó là một cách tiếp cận tốt cho một ứng dụng mà bạn sẽ cho người khác xem. Nhưng nếu bạn có một số nhà phát triển cần hiển thị bảng điều khiển và các biểu mẫu cửa sổ cùng một lúc, nó có thể được thực hiện khá dễ dàng.
Phương pháp này cũng hỗ trợ chỉ hiển thị cửa sổ Console, nhưng không hỗ trợ chỉ hiển thị Windows Form - tức là Console sẽ luôn được hiển thị. Bạn chỉ có thể tương tác (tức là nhận dữ liệu - Console.ReadLine()
, Console.Read()
) với cửa sổ giao diện điều khiển nếu bạn không hiển thị các biểu mẫu cửa sổ; xuất ra Console -Console.WriteLine()
- hoạt động ở cả hai chế độ.
Điều này được cung cấp nguyên trạng; không đảm bảo điều này sẽ không làm điều gì đó kinh khủng sau này, nhưng nó hoạt động.
Các bước dự án
Bắt đầu từ một ứng dụng bảng điều khiển tiêu chuẩn .
Đánh dấu Main
phương pháp là[STAThread]
Thêm một tham chiếu trong dự án của bạn vào System.Windows.Forms
Thêm Biểu mẫu Windows vào dự án của bạn.
Thêm mã khởi động Windows chuẩn vào Main
phương pháp của bạn :
Kết quả cuối cùng
Bạn sẽ có một ứng dụng hiển thị Bảng điều khiển và các biểu mẫu cửa sổ tùy chọn.
Mã mẫu
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");
}
}
}