如何在c#.net中清除控制台?

6

仅此而已。我在这里找到了一个类似的问题:c#控制台,Console.Clear问题

但那并没有回答这个问题。

更新:

Console.Clear()抛出IOException(句柄无效)

该应用程序是WPF应用程序。 但从控制台中读取和写入都不成问题。


你是使用控制台来调试问题还是记录日志? - Joe Phillips
只是一种游乐场,这是我的程序来进行测试。我只在测试wpf时使用wpfstuff,否则我只是打印到控制台。巧合的是,我想要清除控制台,从未想过它不起作用。当然,我可以启动一个没有这个问题的控制台应用程序,但我希望将来能够在wpf中做到这一点,或者至少掌握这个问题。 - Peter
7个回答

6

Console.Clear() 可以在控制台应用程序中使用。

当在ASP.NET网站项目或Windows窗体应用程序中调用Console.Clear()时,会出现IOException。

您使用的是哪种应用程序?

更新:

我不确定这是否有帮助,但正如您可以在此论坛帖子中阅读到的那样,如果控制台输出被重定向,则Console.Clear()将抛出IOException。也许这适用于WPF应用程序?该文章描述了如何检查控制台是否被重定向。


这是一个 WPF 测试应用程序。实际上,在控制台应用程序中尝试 helloWorld 等内容时,我没有任何问题。 - Peter
2
链接失效了。如果那是指向解决方案的方向,那么肯定需要更新。 - OhBeWise

3

尝试

Console.Clear();

编辑

您是否正在非控制台应用程序中尝试此方法?如果是,那么这就可以解释错误了。其他类型的应用程序,如ASP.Net项目、WinForms等,实际上不会创建用于写入的控制台。因此,Clear无法操作并引发异常。


IOException(句柄无效),我在问题中进行了更新。 - Peter

2

Console.Clear() - 这是“cls”命令的等效方式。


  • 既然指出命令是等效的,请阅读更新,欢迎任何帮助。
- Peter

1

0
你真的需要清屏吗?你也可以创建自己的“cls”命令,将100个空白行打印到控制台并使其“看起来”已被清除。只是一个想法。

0

Console.Clear()可以解决问题。它不应该抛出IOException异常。如果有的话,可能还有其他问题您没有告诉我们,此时您应该向我们展示一些代码。


马丁建议错误出现在winforms或Asp net中。这是wpf,我想这也可能是一个问题,但即使如此,问题仍然存在(毕竟我可以使用控制台进行写入和读取)。 - Peter

0

你是否使用了一些人工手段,例如这里所描述的来显示控制台窗口?我尝试创建一个WPF应用程序,然后在其属性Project->属性中更改应用程序输出类型为Console Application。一旦我这样做了,当我启动我的应用程序时,就会弹出一个控制台窗口,我可以在其中编写并调用Console.Clear()而不会引发任何异常。(基本思路已经在这里解释过了,尽管我的属性UI与描述略有不同)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接