2015-04-18 128 views
0

我正在操作C#代碼,並刪除項目中的所有Form,並在簡單的*.txt文件中記錄輸出。刪除表格

目前,代碼以這種方式開始:

Application.Run(new Form1()); 

因爲,我要刪除表格,我試着用別的東西代替它:

Application.Run(new MakeFile()); 

MakeFile類負責創建文件,並在其上記錄輸出。

的錯誤是:

cannot convert from 'project.MakeFile' to 'System.Windows.Forms.ApplicationContext 

的問題是:

是否有可能有一個Form Application Project,並在文件中記錄其數據?

如果是,我該怎麼辦?

+0

沒有多少是不可能的,你想要記錄哪些數據?您可以將數據寫入緩衝區並在應用程序關閉時將其刷新到文件,或者在應用程序運行時持續向文件寫入數據...我可能會創建一個類來處理對該文件的寫入並將其注入到表格 – Charleh

+2

或者你正在考慮有沒有形式的表單項目?在這種情況下它是一個表單項目的意義 – Charleh

+0

Application.Run期望應用程序上下文類。請參見https://msdn.microsoft.com/en-us/library/system.windows.forms.application.run% 28V = vs.110%29。aspx – Rohit

回答

0

刪除你有什麼

Application.Run(new MakeFile()); 

而且通過

MakeFile makefile = new MakeFile(); 
makefile.DoWork(); 

替換它並根據jgauffin波紋管的答案在項目屬性從WinForm應用程序切換到控制檯應用程序。即使沒有切換,它也可以工作,但切換到控制檯應用程序將更改header of compiled executableit will affect calling your app from cmd

1

您可以刪除所有形式沒有問題。

然後你需要告訴Visual Studio你想要一個控制檯應用程序。打開應用項目屬性和變化「輸出類型」爲「控制檯應用程序」:

enter image description here

最後從Program.cs中除去所有形式具體啓動代碼(下面行):

Application.EnableVisualStyles(); 
Application.SetCompatibleTextRenderingDefault(false); 
Application.Run(new Form1()); 

。並且只是調用你的新類來生成文本文件。

+0

Didn'我知道有這樣一種方式... – Rohit