IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[c# et .net] Affichage de SaveFileDialog en arrière plan avec ShowDialog


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 5
    Par défaut [c# et .net] Affichage de SaveFileDialog en arrière plan avec ShowDialog
    Bonjour à tous les forumeurs,

    Je lutte avec C# et la librairie system.Windows.Forms depuis quelques heures maintenant et je fais donc appel à vos connaissances avant de jeter le PC par la fenêtre. :-)

    J'ai réalisé un petit programme qui ouvre un fichier à l'aide de OpenFileDialog, puis demande à l'utilisateur via un SaveDialogFile dans quel fichier enregistrer les modifications qui seront faites sur le premier fichier ouvert. Vous me suivez?

    Tout ceci dans une classe public où j'ai créé une méthode de classe Main (pas d'instanciation d'objets donc).

    J'ouvre le premier dialog (OpenFileDialog) avec la méthode ShowDialog(). Tout se passe bien, la Dialog s'ouvre en premier plan.

    Le second appel à ShowDialog sur l'autre object (SaveFileDialog) fait apparaître cette dialog en arrière plan systématiquement. Du coup, cette fenêtre est cachée derrière toutes les autres fenêtres ouvertes sur le bureau.

    Je suis incapable de trouver des cas similaires sur le net. Et je crois que je vais devenir zinzin avec cette histoire.
    Je n'ai trouvé aucune propriété ou méthode pour SaveFileDialog qui permette de forcer son affichage en premier plan.
    Pour info, j'ai aussi tenté d'ouvrir deux OpenFileDialog à la suite. Même verdict. La première fenêtre s'ouvre en premier plan, la seconde en arrière plan.

    Le code en résumé pour vous éclairer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
     
    using System.Windows.Forms;
    ...
    public class ModifiyDumpFile
    {
    	public static void Main(string[] args)
    	{
    		OpenFileDialog dlg_input_file = new OpenFileDialog();
    		dlg_input_file.Filter = "Dump file to modify (*.*)|*.*";
    		dlg_input_file.Title = "Select the dumpfile you want to change";
     
    		if (dlg_input_file.ShowDialog() == DialogResult.OK)
    		{
    			SaveFileDialog dlg_output_file = new SaveFileDialog();
    			dlg_output_file.Filter = "Dump file to save (*.dump)|*.dump";
    			dlg_output_file.Title = "Create the modified dump file";
    			dlg_output_file.FilterIndex = 1;
    			dlg_output_file.RestoreDirectory = true;
    			dlg_output_file.OverwritePrompt = true;
     
                            // C'est ci-dessous que le problème survient. La fenêtre est en arrière plan.
    			if(dlg_output_file.ShowDialog() == DialogResult.OK)
    			{
                            ...
    Merci d'avance pour votre aide,
    Mathieu

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Bizarre...
    Je me demande si ce n'est pas lié au fait que ton appli n'a pas de fenêtre principale

  3. #3
    Futur Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 5
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Bizarre...
    Je me demande si ce n'est pas lié au fait que ton appli n'a pas de fenêtre principale
    Oui, c'est aussi ce que je me suis demandé. Mais bon, ça paraît dingue qu'il n'y ait pas un moyen de la faire passer en premier plan, non?

  4. #4
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    salut

    est-ce une appli Console ?

    The Monz, Toulouse

  5. #5
    Futur Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 5
    Par défaut
    Citation Envoyé par theMonz31 Voir le message
    salut

    est-ce une appli Console ?

    The Monz, Toulouse
    Hello,

    Tu veux dire : lancée depuis un "command prompt"? La réponse est oui.
    Je peux lancer l'appli depuis un command prompt ou directement depuis une fenêtre d'exploration Windows (mais il ouvre un command prompt le temps de l'exécution).

    J'suis sur Toulouse aussi (le monde est petit :-) ),
    Mathieu

  6. #6
    Membre très actif Avatar de subzero01
    Inscrit en
    Décembre 2007
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Décembre 2007
    Messages : 281
    Par défaut
    1- Ton exemple n'a marché pour moi qu'apres avoir ajouté l'attribut [STAThread] a la fonction main.

    2- J'ai les 2 boites de dialogue qui s'affichent derriere la fenetre de la console principale seulement, et pas derriere toutes les fenetre ouvertes

    Pourquoi tu travailles avec un projet en cosole ? je suis sur que ton probleme ne sera plus present dans une appli windows forms

  7. #7
    Futur Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 5
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Bizarre...
    Je me demande si ce n'est pas lié au fait que ton appli n'a pas de fenêtre principale
    Oui, c'est aussi ce que je me suis demandé. Mais bon, ça paraît dingue qu'il n'y ait pas un moyen de la faire passer en premier plan, non?

Discussions similaires

  1. probleme de mettre une image en arriére-plan avec le JFrame
    Par fateh_mansori dans le forum NetBeans
    Réponses: 4
    Dernier message: 21/03/2010, 20h12
  2. Problème fenêtre arrière-plan avec fvwm
    Par okuri dans le forum Linux
    Réponses: 0
    Dernier message: 26/03/2009, 15h13
  3. Réponses: 1
    Dernier message: 15/06/2008, 12h32
  4. Réponses: 1
    Dernier message: 28/05/2008, 16h04
  5. Afficher un fond en arrière plan avec des boutons
    Par eGen dans le forum Agents de placement/Fenêtres
    Réponses: 15
    Dernier message: 03/04/2005, 23h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo