none
Mettre la console au premier plan RRS feed

  • Question

  • Bonjour , je suis nouveau sur les forums Microsoft France et pardonnez moi si je ne respecte pas certaines règles , si vous remarquez une infraction à une règle du forum , dites le moi s'il-vous-plaît.

    Je commence donc par me présenter , je m'appelle Chiheb et je code en C# et .NET 4 depuis 6 7 mois environs.

    Mon problème est que j'ai créé un programme avec les Windows Forms mais j'ai besoin d'utiliser la console , donc j'ai utilisé les fonctions de la console comme Console.ReadLine(). Le problème c'est que je n'ai besoin que d'une entrée sur la touche <Enter> et rien de plus mais pour que la console me renvoie cette entrée il faut qu'elle soit au premier plan , donc j'aimerais savoir comment depuis le code C# , l'obliger à rester au premier plan.

     

    Merci pour votre aide !

    Chiheb.


    I'm working on FilePainter and Codes , two programs which will help programers and designers ( in the bad order ^_^ )
    mercredi 8 juin 2011 18:04

Réponses

  • Rapidement comme cela, dans votre projet WF:

    • Créer une minuterie (timer) avec un interval X
    • À chaque Interval, changer l'image à la suivante
    • Durant l'interval, si l'utilisateur appui sur la touche, changer l'image et réinitialisé la minuterie

    Microsoft MVP C# || gabrielmongeon.com || LinkedIn
    vendredi 10 juin 2011 15:20
    Modérateur

Toutes les réponses

  • Bonjour,

    bienvenu sur les forums msdn, aucune "infraction" je vous rassure :). Pour pouvoir vous aider il nous faudrait connaitre comment vous avez utilisé la console depuis votre application winform  avec si possible un exemple ( éventuellement simplifié ) qui illustre votre utilisation ( vous avez à disposition le bouton insérer un bloc de code dans la barre de menu ).

    Avez vous créez un projet type console et ajouté un appel à des winforms ? est-ce deux applications distinctes ?

    Quel est le besoin qui nécessite que vous appeliez la console ?

    Cordialement


    jeudi 9 juin 2011 08:23
    Modérateur
  • Merci !

    Pour l'utilisation de la console , en fait j'ai juste besoin d'un appui sur <entrée>.

    Le projet est à la base un projet WinForms dont j'ai modifié les Options ( Projet -> Options ) pour mettre

    une application console et non plus WF , vu que dans ce mode GUI la console n'apparaît pas.

     

    J'ai juste fait un appel à la fonction Console.ReadLine() dans mon code , rien de plus. Je veux juste faire une attente entre deux affichages d'images avec la touche <entrée> mais pour que le code marche il faut que la console reste au premier plan sinon on peut appuyer sur <entrée> autant qu'on veux , ça ne marche pas :(

    Si vous avez besoin de plus d'explications , demandez moi.


    I'm working on FilePainter and Codes , two programs which will help programers and designers ( in the bad order ^_^ )
    jeudi 9 juin 2011 11:08
  • Ne serait pas mieux d'utiliser une fenêtre modal sous un projet WinForms ou encore en utilisant le BackgroundWorker pour charger en arrière plan? Je ne vois pas comment la console peut vous aider dans votre cas.
    Microsoft MVP C# || gabrielmongeon.com || LinkedIn
    jeudi 9 juin 2011 15:01
    Modérateur
  • En fait j'attend juste une entrée avec Console.ReadLine() , je ne stocke pas de valeur avec cette fonction.

    Je veux juste que l'utilisateur puisse passer d'une image à l'autre dans ma "visionneuse" en appuyant sur Enter , j'ai essayé avec les WinForms avec l'événement KeyDown mais j'y suis pas arrivé donc j'ai pensé à utiliser la console.

    Mais qu'entendez vous par une fenêtre modale ( je sais ce que ça veut dire mais je voudrais savoir ce qu'il faudrait en faire )

    Merci ! 


    I'm working on FilePainter and Codes , two programs which will help programers and designers ( in the bad order ^_^ )
    jeudi 9 juin 2011 15:39
  • Es-ce que vous pourriez donner un peu plus de détails sur votre application? Mon hypothèse ici c'est que vous avez une visionneuse d'images:

    • Es-ce en mode plein écran?
    • Comment afficher vous vos images(quels controles?)

    Microsoft MVP C# || gabrielmongeon.com || LinkedIn
    jeudi 9 juin 2011 19:47
    Modérateur
  • Alors :

    oui c'est en plein écran , c'est une visionneuse d'image qui affiche les images dans une PictureBox avec la propriété PictureBox.Image = Image.FromStream(fs);

    où fs contient le path du fichier, vu que les paths sont stockés dans des fichiers faits pour ça.

    Le problème c'est que c'est dans une boucle et donc les informations vont beaucoup trop vite ( on passe direct' à la dernière image en 1 sec' ! )  donc j'ai eu l'idée d'utiliser Console.ReadLine() pour résoudre ce problème. Je sais que Process.Sleep() marcherait aussi mais ça laisserai moins de décisions à l'utilisateur , je veux qu'il appui sur Entrée pour passer à la prochaine image.

    Vous auriez une idée ou on est obligé d'appuyer sur la touche Drapeau Windows du clavier et sélectionner la console ?

    Merci pour votre aide !


    I'm working on FilePainter and Codes , two programs which will help programers and designers ( in the bad order ^_^ )
    vendredi 10 juin 2011 14:36
  • Rapidement comme cela, dans votre projet WF:

    • Créer une minuterie (timer) avec un interval X
    • À chaque Interval, changer l'image à la suivante
    • Durant l'interval, si l'utilisateur appui sur la touche, changer l'image et réinitialisé la minuterie

    Microsoft MVP C# || gabrielmongeon.com || LinkedIn
    vendredi 10 juin 2011 15:20
    Modérateur
  • Merci beaucoup Gabriel !

    Je crois que je vais m'en sortir maintenant ! ^_^

    Tenez :

    static void Main ( string[] args )

    {

    Console.Write("THANK VERY MUCH !");

    }

    ^_^

    Sujet résolu


    I'm working on FilePainter and Codes , two programs which will help programers and designers ( in the bad order ^_^ )
    vendredi 10 juin 2011 15:38