अस्वीकरण
इसे प्राप्त करने का एक तरीका है जो काफी सरल है, लेकिन मेरा सुझाव है कि यह एक ऐप के लिए एक अच्छा तरीका है जिसे आप अन्य लोगों को देखने जा रहे हैं। लेकिन अगर आपको कुछ डेवलपर को एक ही समय में कंसोल और विंडोज फॉर्म दिखाने की आवश्यकता होती है, तो यह काफी आसानी से किया जा सकता है।
यह विधि केवल कंसोल विंडो को दिखाने का भी समर्थन करती है, लेकिन केवल विंडोज फॉर्म दिखाने का समर्थन नहीं करती है - अर्थात कंसोल हमेशा दिखाया जाएगा। आप केवल बातचीत कर सकते हैं (अर्थात डेटा प्राप्त करें - Console.ReadLine()
,Console.Read()
; कंसोल विंडो के साथ यदि आप विंडोज़ रूपों न दिखाएं) कंसोल को आउटपुट - Console.WriteLine()
- दोनों मोड में काम करता है।
यह इस प्रकार प्रदान किया गया है; कोई गारंटी नहीं कि यह बाद में कुछ भयानक नहीं करेगा, लेकिन यह काम करता है।
प्रोजेक्ट चरण
एक मानक कंसोल अनुप्रयोग से प्रारंभ करें ।
के Main
रूप में विधि चिह्नित करें[STAThread]
System.Windows.Forms के लिए अपने प्रोजेक्ट में एक संदर्भ जोड़ें
अपने प्रोजेक्ट में विंडोज फॉर्म जोड़ें ।
अपनी Main
पद्धति में मानक विंडोज स्टार्ट कोड जोड़ें :
अंतिम परिणाम
आपके पास एक एप्लिकेशन होगा जो कंसोल और वैकल्पिक रूप से विंडोज़ फॉर्म दिखाता है।
नमूना कोड
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");
}
}
}