2015-04-18 92 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