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 :

La propriété Height d'une formulaire a-t-elle une valeur maximum ?


Sujet :

Windows Forms

  1. #1
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut La propriété Height d'une formulaire a-t-elle une valeur maximum ?
    Bonjour,

    Après avoir posté sur le forum Dotnet > Languages > VB, je me rends compte que ce problème est plutôt lié au WinForms alors je reposte mon message ici... Désolé pour ce doublon...

    Dans une application, après une certaine action de l'utilisateur, je suis amené à ajouter des contrôles sur le formulaire (les uns en dessous des autres).

    Histoire que ça reste joli, je resize le formulaire après l'ajout des contrôles et le recentre dans l'écran avec le code qui suit :

    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
        Private Sub ResizeForm(ByVal bl_clean As Boolean)
            Try
                If bl_clean Then
                    Me.Height = 203
                    Me.Top = CInt(My.Computer.Screen.Bounds.Height / 2 - Me.Height / 2)
                Else
                    While splitTTC.Panel2.VerticalScroll.Visible
                        Me.Height += 5
                    End While
                    splitTTC.SplitterDistance = 55
                    Me.Top = CInt(My.Computer.Screen.Bounds.Height / 2 - Me.Height / 2)
                End If
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        End Sub
    Mon problème est que, sur les écrans qui ne sont pas assez grand pour contenir le formulaire, l'instruction dans la boucle while cesse d'avoir un effet sans pour autant générer une erreur.

    J'ai réalisé les tests sur 2 écrans différents.
    Sur un écran dont la résolution est 1680*1050, aucun souci.
    Sur un écran dont la résolution est 1280*800, la valeur de la propriété height ne va pas plus haut que 812... Après ça, la boucle continue à s'exécuter et passe bien sur l'instruction qui augmente la hauteur de 5 mais la valeur de la propriété ne change plus...

    Je suis tout à fait d'accord que je dois modifier mon code pour gérer les cas où l'écran est trop petit pour contenir le formulaire car de toute façon, j'uarais un problème sur l'instruction où je le recentre (car je serais hors de l'écran). Mais cela n'empêche, je ne comprends pas pourquoi la valeur n'augmente plus.

    J'ai été voir dans la msdn pour voir s'il y avait une limite ou qqch du genre mais je n'ai rien trouvé.

    Quelqu'un aurait-il des infos sur le sujet ?

    Merci d'avance.

  2. #2
    Membre régulier
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Janvier 2011
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 71
    Points : 110
    Points
    110
    Par défaut
    Salut,

    Cherche du coté de System.Windows.Forms.Screen.
    Tu vas pouvoir récupérer toutes les informations sur les écrans.
    Nombre, résolution de chaque etc...

  3. #3
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut
    Bonjour,

    J'ai oublié de donner suite à ce sujet pour lequel j'ai trouvé l'explication.
    Toutes mes excuses.

    Voici un lien vers une autre discussion où les explications sont disponibles.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/07/2013, 01h48
  2. Réponses: 2
    Dernier message: 05/03/2010, 15h15
  3. Réponses: 1
    Dernier message: 08/01/2010, 14h46
  4. Réponses: 1
    Dernier message: 11/02/2009, 07h33
  5. Réponses: 1
    Dernier message: 28/03/2007, 12h38

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