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 :

Demande de focus sur la page principale qui fait perdre l'affichage en avant plan d'une fenêtre fille


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 47
    Par défaut Demande de focus sur la page principale qui fait perdre l'affichage en avant plan d'une fenêtre fille
    Bonjour,
    Sous VB NET 2010 express, je lance une fenêtre secondaire (de taille plus réduite) à partir de la fenêtre principale.
    J'ai une commande sur Timer qui me réinitialise l'affichage de la fenêtre principale et surtout qui repositionne le focus sur une zone de saisie spécifique de cette fenêtre principale.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        'Positionnement du curseur sur l'emplacement code à barres  
        txtIndex.Focus()
    Cette commande de repositionnement du focus entraine la disparition en arrières plan de la fenêtre secondaire.
    Savez vous comment repositionnez le focus sur un élément d'une fenêtre (ici la principale) sans provoquer cette disparition.
    Je souhaite juste quand je retourne sur la fenêtre principale que le focus soit automatiquement positionné sur l'élément désiré.

    J'espère avoir été assez clair.

    Merci d'avance

  2. #2
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations forums :
    Inscription : Mars 2011
    Messages : 109
    Par défaut
    Bonjour,

    Tu peux essayer de mettre l'attribut topmost de la fenêtre secondaire à true.
    Comme ça elle ne sera plus recouverte par la fenêtre principale (sauf si celle ci a aussi cet attribut à true)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 47
    Par défaut
    Merci de ton intérêt Baloub,
    mais ce n'est as exactement mon besoin. Je ne souhaite pas que la fenêtre ne soit pas recouverte mais que lorsque je suis sur la form principale que celle ci ait un élément qui prenne automatiquement le focus.

    En cherchant mieux j'ai trouvé ce qu'il me faut, en l'absence d'une info qui donne l'état activée ou non d'une form, l'utilisation des événements Activate et Deactivate de la form qui me permettent de gérer une variable qui suit l'état de la form.

    Ci dessous mon programme de test (le changement de couleur de TextBox2 me permet de vérifier que les modifications s'éxécutent bien sur form1 alors que c'est form2 qui est active)
    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
    Public Class Form1
     
        Dim Form1_activée As Boolean
     
     
        Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
     
            If TextBox2.BackColor = Color.Aqua Then TextBox2.BackColor = Color.Red Else TextBox2.BackColor = Color.Aqua
     
            If Form1_activée Then
                TextBox1.Focus()
            End If
     
        End Sub
     
        Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
            If Form2.Created Then
                Form2.BringToFront()
            Else
                Form2.Show()
            End If
     
        End Sub
     
        Private Sub Form1_Activated(sender As Object, e As System.EventArgs) Handles Me.Activated
            TextBox1.Focus()
            Form1_activée = True
        End Sub
     
        Private Sub Form1_Deactivate(sender As Object, e As System.EventArgs) Handles Me.Deactivate
            Form1_activée = False
        End Sub
     
    End Class

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/10/2009, 18h06
  2. Executer JS d'une iframe sur la page principale
    Par xxkirastarothxx dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 05/12/2008, 09h55
  3. [MediaWiki] Demande d'aide sur les pages
    Par ndsaerith dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 15/10/2008, 14h29
  4. PageControl + Popup -> focus sur la page
    Par qi130 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 21/07/2008, 11h21

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