Feragatname
Bunu başarmanın oldukça basit bir yolu var, ancak başkalarının görmesine izin vereceğiniz bir uygulama için iyi bir yaklaşım olduğunu önermem. Ancak bazı geliştiricilerin konsol ve Windows formlarını aynı anda göstermesi gerekiyorsa, oldukça kolay bir şekilde yapılabilir.
Bu yöntem aynı zamanda yalnızca Konsol penceresinin gösterilmesini destekler, ancak yalnızca Windows Formunun gösterilmesini desteklemez - yani Konsol her zaman gösterilecektir. Windows formlarını göstermezseniz, yalnızca konsol penceresiyle etkileşim (yani veri - Console.ReadLine()
, Console.Read()
) yapabilirsiniz; Konsola çıktı - Console.WriteLine()
- her iki modda da çalışır.
Bu olduğu gibi sağlanır; bunun daha sonra korkunç bir şey yapmayacağını garanti eden yok, ama işe yarıyor.
Proje adımları
Standart bir Konsol Uygulamasından başlayın .
İşaretle Main
gibi metodu[STAThread]
System.Windows.Forms'a projenize bir başvuru ekleyin
Projenize bir Windows Formu ekleyin.
Standart Windows başlangıç kodunu Main
yönteminize ekleyin :
Sonuç
Konsolu ve isteğe bağlı olarak Windows formlarını gösteren bir uygulamaya sahip olacaksınız.
Basit kod
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");
}
}
}