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 :

[VB.NET] Direction à choisir pour réaliser ce type de Form?


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 61
    Points : 28
    Points
    28
    Par défaut [VB.NET] Direction à choisir pour réaliser ce type de Form?
    Bonjour ,

    J'ai d'énormes lacunes dans la créations de Winform en vb.net. Je souhaite faire un winform très particuliere, mais je ne sais même pas exactement vers quel type de contrôle me tourner!

    J'ai un fichier XML, que je sais parfaitement lire, et y retirer les données qui m'interessent! Mais voilà, je ne sais pas comment recréer ce genre de fênetre pour les afficher:



    C'est exactement ce que je souhaite faire!
    J'imagine qu'il doit y avoir des astuces, pour ne pas tout créer avec de simple textbox, et checkbox
    La création à la volé, suivant le fichier XML, devrait moins me poser de problèmes, mais là, avec quel genre/type de contrôle une telle fênetre me donnera telle le moins de fil à retordre??
    ListView, Datagrid, ListBox, etc etc, j'avoue que vraiment, je ne sais pas!
    Je souhaite aussi reproduire la grille de couleur jaune et blanche, c est EXACTEMENT ce que je souhaite faire en fait cette image

    Merci de votre aide

  2. #2
    Membre régulier Avatar de netomin
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 81
    Points : 102
    Points
    102
    Par défaut
    8) Il te faut juste un peu de creativité et quelques notions des control Panels pour arriver presque à la même chose.

    En fait il a differentes manières de construir ta Form, je te conseil d'utiliser des Panels pour faire chaque ligne colorée, dans chaque Panel tu va mettre les textbox et/ou les combobox et/ou les checkbox et en faisant juste copier/coller tu peux arriver au même resultat. Tu change la couleur des Panel et c'est fait.
    Un conseil pour faire la ligne du Panel "Main Menu Tweaks", tu peux lui ajouter un autre panel vide avec la propieté Dock= Bottom, BorderStyle=FixeStyle et dans la propieté Size juste 1 comme hauteur de cette façon t'aura une ligne en bas du Panel.
    Tu dois jouer avec les propietés de tes controls et tu finiras par trouver.

    Voilà ce que je suis arrive à faire dans un peu plus de 5 minutes.

    J'éspère t'avoir aidé.


    Il y a toujours une réponse, il suffit de la trouver.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 61
    Points : 28
    Points
    28
    Par défaut
    Wouahhh! Merci Vraiment pour cette réponse netomin!!

    Alors pas besoin de passer par des grilles, ou je sais pas quoi, je ne savais pas que l'on pouvait additionner comme celà des panel autant quen ça sur une Form! (De toute façon je ne sais pas grand chose sur les form ).

    Ca fait 4 mois que je suis sur ce plugin pour Meedio, j'ai fait quelque chose d'énorme, et je compter le sortir hier, mais voilà, ette fênetre, que j'ai eu besoin de faire juste au dernier moment, m'a compeltement démotivé et bloqué!
    J'aimerai pouvoir avoir un résultat comme le tiens assez vite, et je serai pas contre le fait d'avoir tes sources! Pour cette chose, pas formidablkement passionnante à réaliser, ça me ferai grandement plaisir
    Avec ce que t'as fait , plus tes explications, ça devrait être un jeu d'enfant
    Merci à toi, en attendant le petit .rar avec tes sources

  4. #4
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 61
    Points : 28
    Points
    28
    Par défaut
    Bon, je suis entrain de m'en sortir, mais comment tu fais pour avoir une barre de progression, sur le côté de la fênetre, quand les contrôles ne rentre plus dedans?
    Ma Form étant fixe, il faut que je puisse avec une barre de progression sur le cpoté au cas où ça dépasse!

  5. #5
    Membre régulier Avatar de netomin
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 81
    Points : 102
    Points
    102
    Par défaut
    Oui, j'avais oublié ce petit detail. En fait, il te faut d'abord coller un Panel principal qui va te servir de Fond ou tu va mettre tous les autres panels et dans celui-ci tu met la propieté AutoScroll=True pour avoir une barre de défilement (et non barre de progression c'est une autre chose) qui te permettra voir tes autres lignes.

    Je t'envois le code modifié.

    a+. 8)
    Il y a toujours une réponse, il suffit de la trouver.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 61
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par netomin
    Oui, j'avais oublié ce petit detail. En fait, il te faut d'abord coller un Panel principal qui va te servir de Fond ou tu va mettre tous les autres panels et dans celui-ci tu met la propieté AutoScroll=True pour avoir une barre de défilement (et non barre de progression c'est une autre chose) qui te permettra voir tes autres lignes.

    Je t'envois le code modifié.

    a+. 8)
    Exact, barre de défilement!

    Alors j'y suis presque! Bon j'ai pas fait une jolie mise en forme encore au niveau de la police et tout ça. Mais j'ai déjà TOUS ce que je souhaitais dans cette fenêtre! Donc tous va pour le mieux

    Petit pb, et de taille, car ça fait maintenant 4 heures que je suis dessuss, je vous préviens c'estb con!!


    Oui, j'ai un pb de scrolling!!
    Je tiens à te dire netomin, que j'ai procédé exactmeent comme tu l'as dit:
    Un panel1 principal, et dedans, j y ai mis mes panels colorié de façon différentes suivant la passe pair ou impair, juxtaposé les uns aux autres! Dans chaque panel, les controles
    Mais voilà, j'ai du ancrer donc tous les panels enfants à panel1 aux bords Left,Top,Right de panel1, et ancrer aussi les bords Left,Top,Right,Bottom de Panel1 à Ma form, pour prévoir les retailles de la fênetre à la souris!!
    Et quand je l'affiché, j ai ce résultat! Vous voyez? les panel apres la srollbarre, se voit legerement agrandi! Je ne sais VRAIMENT pas comment faire!
    Tellement que je laisse tomber, et je continue avec ce vilain style
    Si vous pouviez m'aider, je suis près à vous passer mon code si vous en avez besoin! Merci à vous!

  7. #7
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 61
    Points : 28
    Points
    28
    Par défaut
    OOPS, je n'avais pas vue, tu m'as envoyé ton code netonim, Merci à toi Je vais voir si ça solutionne mon pb

  8. #8
    Membre régulier Avatar de netomin
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 81
    Points : 102
    Points
    102
    Par défaut
    Puisque ta fais copier/coller des tes panel et que il ya seulement les trois derniers combobox qui sont decalés il y a forcement quelque chose que tu a fait dans les uns et pas dans les autres.

    En fait je crois que c'est parce que t'a du ancrer les bords des 3 derniers combobox aux conteneurs respectifs c'est à dire les panels (à droite et à gauche) et pour les 3 derniers boutons t'a du surement ancré seulement à droite.
    Regarde bien les propietés d'ancrage de chaque combobox qui te donne des soucis et enleve le coté right si tu veux pas qu'ils s'agrandissent avec la fenêtre. Et la méme chose pour les 3 derniers boutons si tu veux pas qu'il se deplacent.

    8)
    Il y a toujours une réponse, il suffit de la trouver.

  9. #9
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 61
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par netomin
    Puisque ta fais copier/coller des tes panel et que il ya seulement les trois derniers combobox qui sont decalés il y a forcement quelque chose que tu a fait dans les uns et pas dans les autres.

    En fait je crois que c'est parce que t'a du ancrer les bords des 3 derniers combobox aux conteneurs respectifs c'est à dire les panels (à droite et à gauche) et pour les 3 derniers boutons t'a du surement ancré seulement à droite.
    Regarde bien les propietés d'ancrage de chaque combobox qui te donne des soucis et enleve le coté right si tu veux pas qu'ils s'agrandissent avec la fenêtre. Et la méme chose pour les 3 derniers boutons si tu veux pas qu'il se deplacent.

    8)
    Houlà, non, j'ai écris le code hier soir dans la nuit, je n'avais pas vue que tu m avais posté le code!
    Puis ce ne sont pas des contrôles fixes, mais des controles construits à la volée, depuis un fichier XML!
    Enfin, là, mon impression d'écran est un peu trompeur, c'est à dire que j'ai agrandi un peu la fenetre vers le bas, apres affichage de celle ci, pour faire l impression d'écran. Car ce ne sont que els controles qui ne sont pas visibles au premeiere affichage de la Form (donc caché dans le fond... ils rentrent pas dedans koi) qui se voit NON redécalé vers la gauche, comme les premeirs, à cause de la scrollbar!
    Il ne peut pas y avoir une popriété que j'aurai oublié dans les derniers controles, (d'ailleurs ce ne sont pas les derniers mais ceux cachés donc ) Puis tous sont créé par la même boucle
    Je cherche, je cherche Merci à toi, tu m'a appris aussi comment faire une ligne noire (un panel avec bordure, et d'épaisseur 1 )

  10. #10
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 61
    Points : 28
    Points
    28
    Par défaut
    Bon, je n'y comprend rien, je sais pas d'où ça peu venir, c'est un énorme mistere!!
    Voici mes sources, avec l application aussi en exemple:
    http://jazzmatazz.free.fr/FormPbScrollBar.rar

  11. #11
    Membre régulier Avatar de netomin
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 81
    Points : 102
    Points
    102
    Par défaut
    Salut!
    Je vu ton code hier et en fait ton problème c'est que comme tu crée dynamiquement tes panels et tes controls en ordre, quand tu fait ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ButtonNext.Location = New System.Drawing.Point(panel1.Width - 90, 4)
    ButtonNext.size = New System.Drawing.size(70, 30)
    ça marche bien que pour tes 6 premiers boutons parce que le 6 premiers panels sont dans la parte visible de ton panel1, mais quand il commence a dessiner le 7ème comme celui-ci n'est plus visible ton Panel1 s'agrandit pour pouvoir afficher la barre de défilement et donc Panel1.Width n'est plus le même c'est à dire 456.
    Il devient = 476 environs.

    Donc t'a deux solutions à toi de choisir la meilleure:

    1. A la place de commencer à dessiner tes panels depuis le premier c'est à dire avec i=0 et ensuite i=i+1, tu pourrait dessiner tes panels depuis le dernier comme ça ton panel1 va s'agrandir dès le début et tous tes controls seront à la bon place. Je crois que t'a 16 panels a ajouter, donc à la place de mettre i=0 au début met i=16 et à la place de i=i+i met i=i-1
    et regarde ensuite ce que ça donne.

    2. Met un if avant de dessiner tes boutons comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if i<6 then
    ButtonNext.Location = New System.Drawing.Point(panel1.Width - 90, 4)
    ButtonNext.size = New System.Drawing.size(70, 30)
    else
    ButtonNext.Location = New System.Drawing.Point(panel1.Width - (90+20), 4)  '20 px environs pour compenser le decalage
    ButtonNext.size = New System.Drawing.size(70, 30)
    End if
    De cette façon les butons après le 6ème se déssinerons alignés.

    Bon j'éspère cette fois ci tu va résoudre ton problème.

    a+ 8)
    Il y a toujours une réponse, il suffit de la trouver.

  12. #12
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 61
    Points : 28
    Points
    28
    Par défaut
    Salut!

    Merci pour ta nouvelle réponse!

    Ce que tu décrit c'est exactement ce que j'ai fait! Une condition à partir du 7 ème panel, et tout est rentré dans l'ordre! J'avais laissé le sujet en "non résolue" car je trouvais que c'était un peu de la bricole mon truc, et j'esperais que quelqu un allé me trouvé une incoherence à un endroit, je sais pas moi (car le panel.width ne change pas durant la création, même apres le 7ème panel! Je l'ai controlé avec une pause sur cette action, il reste à 456! Pourtant, avec la condition If i>6 tout rentre dans l'ordre en effet ).

    Donc bon, merci à toi, et je met ce sujet en résolue alors

  13. #13
    Membre régulier Avatar de netomin
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 81
    Points : 102
    Points
    102
    Par défaut
    Pense aussi à ta fenêtre, si tu est sur que tu va pas être ammené à l'agrandir dans le future tu peux laisser le if i<6, mais si tu augmente ça taille après cette condition va à nouveau te donner des problèmes (par exemple si elle est plus longue peut être 7,8,etc panels seront visibles au début et non 6). En ce cas là pense plutôt à l'autre possible solution que je t'ai donné celle de commencer à dessiner tes panels depuis le dernier, comme ça tu n'auras plus ce decallage.

    a+
    Il y a toujours une réponse, il suffit de la trouver.

  14. #14
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 61
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par netomin
    Pense aussi à ta fenêtre, si tu est sur que tu va pas être ammené à l'agrandir dans le future tu peux laisser le if i<6, mais si tu augmente ça taille après cette condition va à nouveau te donner des problèmes (par exemple si elle est plus longue peut être 7,8,etc panels seront visibles au début et non 6). En ce cas là pense plutôt à l'autre possible solution que je t'ai donné celle de commencer à dessiner tes panels depuis le dernier, comme ça tu n'auras plus ce decallage.

    a+
    Ok, je vois! mais ma fênetre s'affiche au début, avec une taille fixe! où il ne rentre que 6 panels en entier! cette taille d'affchage est fixe, donc ça ne me dérange oas Mais merci pour l'astuce!

  15. #15
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 61
    Points : 28
    Points
    28
    Par défaut
    Bon, problème résolue à 100%!!
    J'ai enlevé tout le système de si "i>6" (6 étant le nombre de ligne pouvant rentré dans ma form au démarrage) alors "je diminue un peu la position y de mes boutons defaults".

    En fait, voilà l'asute: il faut pas mettre de propriété AutoScroll à True sur le panel suportant les lignes! Mais faire ça, une fois tous les contrôles construit à la volée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    panel1.AutoScrollMinSize = New System.Drawing.Size(0, i*38)
    i étant tout simplement mon nombre de lignes créées à la volée, et 38 leurs hauteurs. Panel1 étant le panel suportant les lignes! Là c'est parfait! Fallait trouvé
    Astuce à noter

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/10/2013, 15h44
  2. [XL-2003] Quelle direction prendre pour réaliser le dépouillement d'un tableau?
    Par mandrake57 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/03/2012, 21h59
  3. Qt Vs .Net lequel choisir pour l'étudier
    Par dhay06 dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 25/09/2009, 01h18
  4. Méthode pour réaliser ce type d'effet
    Par socket77 dans le forum Flash
    Réponses: 3
    Dernier message: 30/04/2008, 17h28
  5. quel type de donnée choisir pour simuler le type Currency
    Par maamar1979 dans le forum Débuter
    Réponses: 2
    Dernier message: 18/02/2007, 12h44

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