2009-04-19 11 views
5

Juste cela. J'ai trouvé une question similaire ici: c# console, Console.Clear problemComment effacer la console dans C# .net?

mais cela n'a pas répondu à la question.

MISES À JOUR:

Console.Clear() renvoie: IOException (Le manche est non valide)

L'application est une application WPF. Écrire sur la console n'est cependant pas un problème du tout, pas plus que la lecture.

+0

Alors utilisez-vous la console pour les problèmes de débogage ou de journalisation? –

+0

Juste une sorte de playgarden, c'est mon programme pour faire des tests. Je n'utilise que le wpfstuff quand je teste wpf, sinon je viens d'imprimer sur la console, par hasard, je voulais effacer la console, jamais pensé que je ne travaillerais pas.Bien sûr, je peux commencer une application de console sans ce problème, mais je veux être en mesure de le faire dans wpf à l'avenir, ou, au moins, saisir le problème. – Peter

Répondre

5

Console.Clear() fonctionne dans une application console. Lorsque vous appelez Console.Clear() dans un projet de site Web ASP.NET ou dans une application de formulaires Windows, vous obtenez l'exception IOException.

Quel type d'application avez-vous?

Mise à jour:

Je ne sais pas si cela vous aidera, mais comme vous pouvez le lire dans this forum thread, Console.Clear() lance une IOException si la sortie de la console est redirigé. Peut-être que c'est le cas pour les applications WPF? L'article décrit comment vérifier si la console est en cours de redirection.

+0

C'est une application de test wpf. En effet, lorsque j'essaie un peu de helloWorld dans consoleApp, je n'ai pas de problème. – Peter

+0

+1 indiquant le plus probablement la direction de la solution. – Peter

+1

Lien mort. Si c'était la direction d'une solution, elle devrait certainement être mise à jour. – OhBeWise

3

Essayez

Console.Clear(); 

EDIT

Êtes-vous d'essayer cette méthode sur une application non-console? Si c'est le cas, cela expliquerait l'erreur. D'autres types d'applications, projets ASP.Net, WinForms, etc ... ne créent pas réellement de console pour l'écriture. Le Clear n'a donc rien à faire et lance une exception. Console.Clear() - Ceci est l'équivalent de la commande "cls"

+0

mise à jour: qui a lancé l'exception – Peter

+0

quelle exception at-il jeté? – JaredPar

+0

IOException (Le handle est invalide), j'ai fait une mise à jour dans la question – Peter

2

Essayez Console.Clear() - il est disponible depuis .NET 2.0.

+0

+ depuis que les commandes sont équivalentes, mais s'il vous plaît, lire les mises à jour, toute aide est la bienvenue – Peter

1
+0

mise à jour: – Peter

0

Console.Clear() fera l'affaire. Il ne devrait pas lancer une exception d'E/S. Si c'est le cas, il se passe quelque chose d'autre que vous ne nous dites pas, auquel cas vous devriez nous montrer du code.

+0

Martin a suggéré que l'erreur apparaît dans winforms ou Asp net. Ceci est wpf et pourrait être un problème aussi, je suppose, mais même alors, la question reste (je peux utiliser la console pour écrire et lire après tout) – Peter

0

Utilisez-vous des moyens artificiels, comme ce qui est décrit here pour afficher une fenêtre de console? J'ai essayé de créer une application WPF puis de changer le type de sortie de l'application dans ses propriétés Projet-> Propriétés ... à l'application console. Une fois que j'ai fait cela une fenêtre de console a surgi quand j'ai commencé mon application et je pourrais écrire à elle et appeler Console.Clear() sans aucune exception. (l'idée de base est expliquée here, bien que mes propriétés UI était légèrement différente de ce qui est décrit)

0

Avez-vous vraiment besoin de l'effacer? Vous pouvez également créer votre propre commande "cls" qui imprime 100 lignes vierges à la console et la fait "apparaître" comme ayant été effacée. juste une idée.

Questions connexes