2011-04-18 17 views
29

मैं एक खिड़कियों प्रपत्र समाधान बनाया है और एक वर्ग के निर्माता में मैंविंडोज़ फॉर्म .. console.writeline() कंसोल कहां है?

Console.WriteLine("constructer called")

कहा जाता है लेकिन मैं केवल फार्म और नहीं सांत्वना मिल गया .. तो जहां उत्पादन है?

+3

या यदि आप कंसोल से अपने exe शुरू करने और नहीं है, अपने अनुप्रयोग एक कंसोल अनुप्रयोग होने के लिए प्रकट बदलना चाहते हैं यहाँ असली है समाधान: http://www.nerdyhearn.com/blog/157/ –

उत्तर

43

परियोजना सेटिंग्स में कंसोल के रूप में आवेदन प्रकार निर्धारित किया है। फिर आपको कंसोल और फॉर्म मिलेगा।

11

आप दृश्य स्टूडियो में अपने आवेदन चलाते हैं तो आप उत्पादन विंडो में सांत्वना उत्पादन देख सकते हैं।

डीबग -> विंडोज -> आउटपुट

नोट एक WinForms आवेदन से उत्पादन निदान डेटा के लिए बेहतर तरीका System.Diagnostics.Debug.WriteLine या System.Diagnostics.Trace.WriteLine उपयोग करने के लिए के रूप में वे अधिक विन्यास कर रहे हैं कि कैसे और है कि जहां उत्पादन चाहते हैं ।

+0

आप कैसे कॉन्फ़िगर करूँ कैसे और कहाँ आप उत्पादन करना चाहते हैं? मैं डिबग विकल्प विंडो के लिए चले गए हैं, और डिबगिंग> आउटपुट विंडो> सामान्य आउटपुट सेटिंग्स के अंतर्गत, "सभी डिबग आउटपुट" पर सेट है "पर," और मैं अभी भी कुछ भी उन का उपयोग कर उत्पादन खिड़की में दिखाने के लिए नहीं मिल सकता है तरीकों। –

36

तुम भी Debug.WriteLine उपयोग करने पर विचार करना चाहिए, कि शायद आप जो खोज रहे हैं। ये कथन आपके आवेदन के लिए ट्रेस श्रोताओं को लिखे गए हैं, और Output Window of Visual Studio में देखे जा सकते हैं।

Debug.WriteLine("constructor fired"); 
+1

मैं इसे आजमा रहा हूं, लेकिन सामान्य बिल्डिंग को छोड़कर आउटपुट विंडो में कभी भी कुछ भी नहीं दिखता है, सफल चीजों का निर्माण शुरू हुआ। –

1

अन्य उत्तर System.Diagnostics.Debug.WriteLine ने कहा है के रूप में संदेशों डीबगिंग के लिए सही कॉल है। एक Winforms आवेदन से

आप इस तरह बातचीत के लिए एक कंसोल विंडो आह्वान कर सकते हैं:

using System.Runtime.InteropServices; 

... 

void MyConsoleHandler() 
{ 
    if (AllocConsole()) 
    { 
     Console.Out.WriteLine("Input some text here: "); 
     string UserInput = Console.In.ReadLine(); 

     FreeConsole(); 
    } 
} 


[DllImport("kernel32.dll", SetLastError = true)] 
[return: MarshalAs(UnmanagedType.Bool)] 
static extern bool AllocConsole(); 

[DllImport("kernel32.dll", SetLastError = true)] 
[return: MarshalAs(UnmanagedType.Bool)] 
static extern bool FreeConsole(); 

मैं कभी कभी इस का उपयोग आवेदन खिड़कियों के बजाय एक कमांड प्रॉम्प्ट को बढ़ाने के लिए जब किए गए विशिष्ट स्विच पर लेकिन आपके सवाल का जवाब देने के लिए उद्घाटन।

इस समान प्रश्न में कुछ और अधिक विचार नहीं है अगर कोई यह की जरूरत है:
What is the Purpose of Console.WriteLine() in Winforms

संबंधित मुद्दे