2013-02-27 140 views
0

我與Windows窗體工作,我有一個主形式,當我點擊一些按鈕,他打開一個控制檯窗口是做了一些工作,當它完成我想要關閉控制檯而不關閉所有應用程序(主窗體)。我嘗試用Environment.Exit(1)或屬於Destroy()Create()控制檯窗口的功能Destroy()關閉控制檯。在Environment.Exit(1)Destroy()都關閉控制檯,但關閉的形式了。 我不知道是否有一種方法只關閉控制檯而不關閉整個應用程序當關閉控制檯窗口的關閉所有應用程序

編輯

private void btSync_Click(object sender, EventArgs e) 
    { 
     Create(); 
     ServerSync sycs=new ServerSync(); 
     Thread sync = new Thread(new ThreadStart(sycs.run)); 
     sync.Start(); 
    } 

Create()打開運行Socket()線程控制檯窗口。

問題解決了 當IM啓動線程我添加到代碼ThreadName.Abort結束,外螺紋我檢查ThreadName.IsAlived==false和裏面的,如果我Hide()控制檯,然後Destroy()及其著作!

AppDeveloper答案Hide()方法。 感謝您的幫助!

+3

請後打開控制檯窗口,可以做一些工作的代碼。 – 2013-02-27 11:50:22

+0

請張貼代碼'無效的主要()' – 2013-02-27 11:53:06

回答

1

而不是使用Environment.Exit()的隱藏Console Window

using System.Runtime.InteropServices; 
[DllImport("kernel32.dll")] 
static extern IntPtr GetConsoleWindow(); 

[DllImport("user32.dll")] 
static extern bool ShowWindow(IntPtr hWnd, int nCmdShow); 

const int SW_HIDE = 0x0; 
const int SW_SHOW = 0x5; 

public static void HideConsoleWindow() 
{ 
    var handle = GetConsoleWindow(); 
    ShowWindow(handle, SW_HIDE); 

} 
+0

但我需要關閉控制檯怎麼一回事,因爲當插座靠近我想關閉控制檯,讓需要當用戶再次打開控制檯。 – 2013-02-27 12:17:29

+0

ü可以關閉句柄插座,並清除控制檯窗口,它會尋找新的希望! – 2013-02-27 12:43:23

0

也許有一個console.hide()選項?可以嘗試一下。

+1

沒有。通常人們會將答案作爲答案發布如果它是一個猜測,也許只是評論:) – James 2013-02-27 11:58:51

相關問題