Question

Toutes les idées sur la façon de mettre en œuvre la saisie semi-automatique pour un .NET (C#), l'Application de la Console?Et je veux dire à l'intérieur d'une application qui est exécutée, puis des boucles de la saisie de l'utilisateur (comme si vous exécutez ftp.exe sans arguments), comme ceci:

        string line = string.Empty;
        while (line != "exit")
        {
            //do something here
            Console.ReadLine();
        }

Je sais que je ne pourrait probablement pas réellement utiliser readline, mais je voudrais être capable de faire de l'onglet fin à ce même point où vous récupérer une saisie de l'utilisateur.

Était-ce utile?

La solution

Jetez un oeil à ce code à partir du projet Mono http://tirania.org/blog/archive/2008/Aug-26.html J'ai joué avec certains de l'autre jour.Il fait beaucoup de ligne de commande editingy, mais je ne pense pas qu'il n'ligne d'achèvement.

Autres conseils

Faire une Console.ReadKey().

Si vous obtenez un Onglet, regardez ce que vous avez dans le tampon de commande, et de parcourir vos commandes disponibles.Si someCommand.Name.BeginsWith(currentinput), vous avez un gagnant, et vous pouvez écrire à l'écran une liste des commandes possibles.

Si il y a un seul(TM) vous pouvez le remplacer par ce que l'utilisateur a tapé :)

J'ai créé une petite lib pour ajouter cette fonctionnalité à une application que j'ai faite:

https://github.com/fjunqueira/hinter

Il ne pourrait pas répondre à vos besoins, mais vous pouvez vous sentir libre de le modifier.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top