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 :

Redimensionnement automatique de graph


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 335
    Par défaut Redimensionnement automatique de graph
    Bonjour à tous,

    Mon but et d'adapter la taille de plusieurs graphs à la taille d'un Form, lui même dépendant de la résolution du moniteur.

    Pour celà pas de problème, mais si l'utilisateur modifie la taille de la fenêtre Form, il faut que la taille des graphs s'adapte à la nouvelle taille du Form.

    J'imagine que je vais me servir de l'evenement qui decrit une modification de la taille du form, mais il va falloir...appeler une sub qui gère la taille du graphe, mais a chaque fois j'avais "... n'est pas un membre de...", alors je me suis dis qu'il fallait éditer la propriété size du graph en héritant de celle-ci:

    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
    Public Class TirePlots
        Inherits Chart
     
        Public Overloads Shared ReadOnly Property size As System.Drawing.Size
            Get
                Return New System.Drawing.Size(CInt(SetupForm.AligningTorquePlot_tab.Size.Width / 2 - 1), 
                    CInt(SetupForm.AligningTorquePlot_tab.Size.Height / 2 - 1))
            End Get
        End Property
     
        Public Sub PlotRollingResistanceMomentCharts()
     
            Dim RollingResistanceMomentChart_LF As New TirePlots
            Dim RollingResistanceMomentChart_RF As New TirePlots
            Dim RollingResistanceMomentChart_LR As New TirePlots
            Dim RollingResistanceMomentChart_RR As New TirePlots
     
    ...
    ...
    Puisque je veux cette propriété pour qu'elle que soit l'instance j'ai ajouté shared...je ne sais pas si c'est utile

    Que dois je faire de plus ?

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    chaque controle a une propriété anchor et dock
    anchor permet de définir comment se passe le redimensionnement d'un controle quand son parent est redimensionné en choisissant à quels bords le controle est fixé
    par défaut anchor vaut gauche + haut, donc le controle reste toujours à la même distance du point en haut à gauche = il ne bouge pas
    toutes les combinaisons sont imaginables, en cochant les 4 côtés, le controle restera toujours à égale distance de chaque bord pendant le redimensionnement
    dock permet de docker enfin voir avec l'aide pour ce que ca veut dire

    il y a aussi des controles container qui servent à l'agencement : flowlayoutpanel, tablelayoutpanel, splitcontainer etc...

    et avec tout ca plus besoin de se poser de questions sur la taille des controles, tout s'adapte automatiquement


    et le shared qui utilises une instance de form c'est pas une bonne idée
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 335
    Par défaut
    Merci, je découvre des fonctions inintéressantes.

    J'ai un ControlTab, sur un Form, j'ai réglé la prop Anchor du control tab sur les 4 cote via le designer, çà fonctionne inpec.

    Ensuite sur les tab de ce controlTab j'ai à chaque fois 4 graphs en 4/4.

    J'ai donc ajouté 2 splitcontainer (çà ne split qu'en 2 apparemment), avec aussi anchor sur les 4 bords

    Puis j'ajoute des graph par le code, mais qu'en je code le anchor, çà ne semble pas fonctionné...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
      SetupForm.PureLateralPlotTop.Panel1.Controls.Add(PureLateralChart_LF)
            SetupForm.PureLateralPlotTop.Panel2.Controls.Add(PureLateralChart_RF)
            SetupForm.PureLateralPlotBottom.Panel1.Controls.Add(PureLateralChart_LR)
            SetupForm.PureLateralPlotBottom.Panel2.Controls.Add(PureLateralChart_RR)
     
            PureLateralChart_LF.Anchor = AnchorStyles.Bottom Or AnchorStyles.Right Or AnchorStyles.Top Or AnchorStyles.Left
            PureLateralChart_RF.Anchor = AnchorStyles.Bottom And AnchorStyles.Right And AnchorStyles.Top And AnchorStyles.Left
            PureLateralChart_LR.Anchor = AnchorStyles.Bottom And AnchorStyles.Right And AnchorStyles.Top And AnchorStyles.Left
            PureLateralChart_RR.Anchor = AnchorStyles.Bottom And AnchorStyles.Right And AnchorStyles.Top And AnchorStyles.Left
    Je pourrais aussi ajoute un control chart pour régler la prop via le designer, çà économise des lignes de codes...

  4. #4
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 335
    Par défaut
    J'ai progressé, mais reste un problème

    Puisque j'ai 2 split container coupé verticalement placé l'un sur l'autre dans la tab, il faut que chaque split container occupe la moité de la hauteur du tab...

    Je ne vois pas comment faire...

  5. #5
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 335
    Par défaut
    Finalement un mélange de anchor sur les splitcontainer et ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     Public Shared Sub SplitContainerLocation(ByVal sender As Object, ByVal e As System.EventArgs)
            SetupForm.PureLateralPlotTop.Height = CInt(SetupForm.PureLateralPlot_tab.Height / 2 - 6)
            SetupForm.PureLateralPlotBottom.Location = New System.Drawing.Point(3, CInt(SetupForm.PureLateralPlot_tab.Height / 2 + 6))
            SetupForm.PureLateralPlotBottom.Height = CInt(SetupForm.PureLateralPlot_tab.Height / 2 - 6)
        End Sub
    et çà fonctionne!

  6. #6
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 335
    Par défaut
    Je ne sais pas si c'est à cause de ces nouvelles propriétés mais, l'autoscroll ne fonctionne plus, malgré qu'il soit toujours sur true...

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

Discussions similaires

  1. redimensionnement automatique excel
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 05/04/2006, 16h35
  2. Redimensionnement automatique textarea
    Par nico-pyright(c) dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 01/04/2005, 11h48
  3. [C#] [WinForms] Redimensionnement automatique d'une ListView
    Par Phenomenium dans le forum Windows Forms
    Réponses: 2
    Dernier message: 18/02/2005, 11h43
  4. Exporter vers Excel, et créer automatiquement un graphe
    Par NiKKiLLeR dans le forum Windows
    Réponses: 2
    Dernier message: 10/02/2005, 19h02
  5. [VB6] [Interface] Redimensionnement automatique
    Par ychalan dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 30/09/2002, 18h32

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