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

VB.NET Discussion :

Mettre une form modale en arrière plan


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Assistant commercial
    Inscrit en
    Août 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Assistant commercial

    Informations forums :
    Inscription : Août 2014
    Messages : 53
    Points : 28
    Points
    28
    Par défaut Mettre une form modale en arrière plan
    Bonjour,

    Mon problème est le suivant je souhaite passer une form modale en arrière plan sans la fermer.

    Mon application ouvre une page d'un navigateur web et en parallèle ouvre une form qui attend une réponse de l'utilisateur avant de passer à la suite du programme.

    Deux cas se présentent:

    - 1er cas: Si le navigateur web n'était pas ouvert avant l'utilisation de l'application alors pas de problème la form modale est bien placée en arrière plan et la page web ouverte en parallèle par l'application est bien au 1er plan.

    -2ème cas: Si l'utilisateur avait son navigateur web ouvert avant d'utiliser l'application alors lors de l'ouverture de la form celle ci vient se placer sur la page du navigateur ouvert par l'application et gène la visibilité de l'utilisateur.

    Donc je souhaite passer en arrière plan cette form modale sans la fermer pour laisser la page web ouverte en parallèle par l'application visible par l'utilisateur tout en bloquant la suite du programme tant que l'utilisateur n'a pas fermé la form.

    Pour ouvrir la form j'utilise le code suivant:

    Merci de votre aide

  2. #2
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    On peut contourner le problème ainsi :
    En supposant que la Form contenant le WebBrowser s'appele Form1
    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
    internal void Form4ShowDialog() ;
    { // lance la form4
          Form1.Enabled=false ;
          // ... ici fournir à Form4 la procédure de form1 à appeler sur les boutons OK/Cancel 
          Form4.Show() ;
    }
     
    internal void CallBackCalledByForm4()
    {
          switch (Form4.DialogReslt)
          {
                case DialogResult.Ok     : .... ; break ;
                case DialogResult.Cancel : .... ; break ;
          }
          Form4.Visible   = false ;
          Form1.Enabled = true ;
    }
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Assistant commercial
    Inscrit en
    Août 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Assistant commercial

    Informations forums :
    Inscription : Août 2014
    Messages : 53
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par Graffito Voir le message
    On peut contourner le problème ainsi :
    En supposant que la Form contenant le WebBrowser s'appele Form1
    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
    internal void Form4ShowDialog() ;
    { // lance la form4
          Form1.Enabled=false ;
          // ... ici fournir à Form4 la procédure de form1 à appeler sur les boutons OK/Cancel 
          Form4.Show() ;
    }
     
    internal void CallBackCalledByForm4()
    {
          switch (Form4.DialogReslt)
          {
                case DialogResult.Ok     : .... ; break ;
                case DialogResult.Cancel : .... ; break ;
          }
          Form4.Visible   = false ;
          Form1.Enabled = true ;
    }
    Bonjour Graffito,

    Merci pour ta réponse.

    Cependant, mon application ne contient pas de form avec un webrowser donc cette solution n'est pas adaptée a mon application. La page du navigateur est ouverte via la ligne de code suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Diagnostics.Process.Start("http://www.google.com")
    Merci quand même.

  4. #4
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2014
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Août 2014
    Messages : 63
    Points : 123
    Points
    123
    Par défaut
    Bonjour,

    Ce bout de code permet de masquer la modale + principal dans la taskbarre (cela ne le met pas en arrière plan mais réduit le tout) je ne sais pas si c'est ça que tu veut
    le form principal est nommée form1, la modale form2

    appel depuis le form principal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
            System.Diagnostics.Process.Start("http://www.google.com")
            Form2.ShowDialog()
    End Sub


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form2_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            Me.WindowState = FormWindowState.Minimized
    End Sub
    en espérant avoir aidé

    Bonne journée

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Assistant commercial
    Inscrit en
    Août 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Assistant commercial

    Informations forums :
    Inscription : Août 2014
    Messages : 53
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par WisperDarkness Voir le message
    Bonjour,

    Ce bout de code permet de masquer la modale + principal dans la taskbarre (cela ne le met pas en arrière plan mais réduit le tout) je ne sais pas si c'est ça que tu veut
    le form principal est nommée form1, la modale form2

    appel depuis le form principal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
            System.Diagnostics.Process.Start("http://www.google.com")
            Form2.ShowDialog()
    End Sub


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form2_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            Me.WindowState = FormWindowState.Minimized
    End Sub
    en espérant avoir aidé

    Bonne journée
    Bonjour WisperDarkness,

    Merci pour ta réponse.

    Ce code peut faire l'affaire car il permet de ne plus avoir la form modale sur la page web ouverte en parallèle.

    Merci à toi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment mettre une grande image en arrière plan sur un site ?
    Par Dsphinx dans le forum Mise en page CSS
    Réponses: 10
    Dernier message: 19/07/2009, 12h28
  2. Mettre une Form en avant-plan et la "bloquer"
    Par Nadiya dans le forum Windows Forms
    Réponses: 10
    Dernier message: 24/10/2008, 21h35
  3. Réponses: 1
    Dernier message: 07/02/2006, 00h11
  4. [VB.NET] Mettre une form au 1er plan
    Par Aspic dans le forum VB.NET
    Réponses: 13
    Dernier message: 15/11/2005, 12h51
  5. Comment faire pour qu'une Form reste en avant-plan?
    Par Bodom-Child dans le forum C++Builder
    Réponses: 3
    Dernier message: 25/08/2005, 10h28

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