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 :

Rendre active une form


Sujet :

VB.NET

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    developpeur amateur
    Inscrit en
    Décembre 2022
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : developpeur amateur

    Informations forums :
    Inscription : Décembre 2022
    Messages : 8
    Par défaut Rendre active une form
    Bonjour
    J'ai crée une application, une forme (en vb) qui lance une autre application, en occurrence XnviewMP (pour visualiser des photos).
    Ceci fonctionne correctement.
    Mon soucis est que c'est la fenêtre XnviewMP qui reste active, je souhaiterai que mon appli redevienne active automatiquement.

    Merci

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 559
    Par défaut
    Qu'entendez-vous par "active"?
    Avoir le focus clavier ?
    Le plus simple, c'est de voir si le programme lancé dispose des options en ligne de commende pour "annuler" cette prise de focus (-background ou consort).

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    developpeur amateur
    Inscrit en
    Décembre 2022
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : developpeur amateur

    Informations forums :
    Inscription : Décembre 2022
    Messages : 8
    Par défaut Rendre active une form
    Bonjour,
    Effectivement c'est le focus. Pour info je suis débutant, autodidacte et "retraité", ce qui explique que je ne maitrise pas le vocabulaire informatique.
    Dans mon application, j'ai créer un raccourci sur la touche F2. Cette application lance l'application Xnview. Si a ce moment je fais F2, c'est le raccourci d'Xnview qui s'exécute et pas ce de mon application.
    Il faut comme vous le dite après le lancement Xnview rendre le focus
    Merci

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 559
    Par défaut
    C'est l'un des nombreux inconvénients d'utiliser des application "complète" plutôt que des composants logiciels plus polyvalents, le manque de contrôle du bidule.
    Si vous voulez vraiment utiliser un programme autonome, regardez les options en ligne de commande qu'offre ce programme.
    Avec beaucoup de chance, il y aura l'option qui va bien.
    Sinon, il y a beaucoup d'autre moyens mais rien de très fiable.

  5. #5
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 746
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 746
    Par défaut
    Hello,

    J'ai crée une application, une forme (en vb) qui lance une autre application, en occurrence XnviewMP (pour visualiser des photos).
    Très bien, où est le code reproduisant cette situation ?

    Mon soucis est que c'est la fenêtre XnviewMP qui reste active, je souhaiterai que mon appli redevienne active automatiquement.
    Très bien, où est le code ?
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  6. #6
    Membre éprouvé Avatar de excalybur
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Novembre 2014
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2014
    Messages : 323
    Par défaut
    Bonjour,

    Si tu veux ouvrir ton application photo pendant x secondes puis revenir à ton application sans pouvoir utiliser les handles de ton application 'complète' il faut procéder autrement. De plus si la fermeture ne se produit pas il faut aussi prévoir une roue de secours avec kill.

    Je te donne un exemple complet à adapter que j'utilise. Tu ouvre un nouveau form1 et tu y met un button1 :

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     Imports System.Diagnostics
    Imports System.Threading.Tasks
     
    ' Colle ce Sub dans la classe Form1.
    Private Async Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim proc As Process = Nothing
        Try
            Dim startInfo As New ProcessStartInfo("cmd.exe") With {
                .UseShellExecute = True
            }
            proc = Process.Start(startInfo)
            If proc Is Nothing Then
                MessageBox.Show("Impossible de démarrer cmd.exe", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
                Return
            End If
     
            ' Attendre 5 secondes
            Await Task.Delay(5000)
     
            ' Tenter une fermeture propre
            If Not proc.HasExited Then
                Try
                    proc.CloseMainWindow()
                    ' attendre 2s pour la fermeture propre
                    If Not proc.WaitForExit(2000) Then
                        ' forcer la terminaison (inclut l'arbre si supporté)
                        Try
                            proc.Kill(entireProcessTree:=True)
                        Catch exKill As Exception
                            ' fallback si la surcharge n'est pas disponible
                            If Not proc.HasExited Then proc.Kill()
                        End Try
                    End If
                Catch ex As Exception
                    ' en dernier recours, forcer la terminaison
                    Try
                        If Not proc.HasExited Then proc.Kill()
                    Catch
                    End Try
                End Try
            End If
        Finally
            If proc IsNot Nothing Then
                proc.Dispose()
            End If
        End Try
    End Sub

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/03/2011, 10h49
  2. [XL-2003] Rendre active une feuille peut importe le nom
    Par PUARAI dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 31/03/2009, 22h55
  3. rendre invisible une forme graphique
    Par sky88 dans le forum Débuter
    Réponses: 7
    Dernier message: 26/08/2008, 06h19
  4. Rendre transparente une Form a partir d'un cercle central
    Par blondelle dans le forum C++Builder
    Réponses: 0
    Dernier message: 27/10/2007, 23h56
  5. [VB.NET] Activer une form une seul fois
    Par BenoitM dans le forum Windows Forms
    Réponses: 4
    Dernier message: 14/02/2006, 15h44

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