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 :

Outils sur form, conseil


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Uranne-jimmy
    Homme Profil pro
    Bioinformatique
    Inscrit en
    Décembre 2012
    Messages
    778
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Bioinformatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 778
    Par défaut Outils sur form, conseil
    Bonjour,
    Me voilà de nouveau devant mon vbexpress pour un programme, cette fois ci il consiste en la création de modèles. Pour faire cours j'ai une matrice de disons au hasard (ce sera une valeur fixe à terme) 8 lignes et 12 colonnes, et chaque case sera un objet dont l'utilisateur devra renseigner quelques caractéristiques.
    Mon problème arrive vite : Je me vois mal créer maladroitement 96 petit carrés collés les uns aux autres avec de jolis petit noms, premièrement parce que .. ba 96 cases quoi ... et parce que pour ensuite travailler sur celles ci par leurs coordonnées, ça risque d'être tendu ou foireux (mon esprit bordélique n'aidant pas). Ma question est la suivante : n'y a t'il pas un outil qui fait un tableau de ce type ? un simili data grid view ? ou alors un moyen de créer un tel control en préparant le terrain pour pas m'emmêler les pinceaux plus tard ?

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    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 202
    Par défaut
    si si il y a plein de choses

    la 1ère c'est de créer les controles à l'exécution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    for x as integer = 1 to 8
      for y as integer = 1 to 12
        dim l as new label
        dim t as new textbox
        'placement
        me.controls.Add(l)
        me.controls.Add(t)
      next
    next

    et si tu ne veux pas t'embêter à gérer des coordonnées il y a le TableLayoutPanel
    là aussi par code tu lui ajoutes des lignes et des colonnes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    puis montlp.controls.add(l,x,y) ' x et y étant les coordonnées en cases

    sinon il y a le datagridview, le flowlayoutpanel, les usercontrols permettant de regrouper des controles (par exemple un label et un textbox) (et voir aussi les propriétés anchor et dock qui sont sur tous les controles)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre éclairé Avatar de Uranne-jimmy
    Homme Profil pro
    Bioinformatique
    Inscrit en
    Décembre 2012
    Messages
    778
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Bioinformatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 778
    Par défaut
    En effet, vu comme tu le présente, tout semble fait pour, je n'ai pas encore tout acquis sur les capacités du visualisateur de vb.

    Je vais donc être plus précis ^^'
    Dans l'absolu en fait, j'aimerais pouvoir catcher les événements pour chaque case indépendamment, pour créer un système de sélection multiple, et ensuite permettre à l'utilisateur de rentrer les données pour toute la sélection (4 ou 5 arguments par case au total, sur 96 cases, beaucoup de cases auront des éléments communs). Par layout, je n'arrive pas à trouver le bon événement. En datagridview, j'avoue que je comprend pas, je voudrais quelque chose typé dessin plutot, avec (du moins si j'y arrive) un remplissage coloré pour chaque case qui dépendra du niveau de remplissage des arguments (case pleine une fois tout les arguments présenté).

    En gros je veux un contrôle qui puisse être traité indépendamment, qui à un nom facile à gérer (coordonnée type excel serait le pied), ceci afin respectivement de facilité le lien à l'utilisateur, et de facilité l'enregistrement des données en aval.

    Je suis chiant, je sais ^^'

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    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 202
    Par défaut
    pour gérer de la multisélection sans se compilquer la vie il n'y a que le datagridview

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dgv.rows(y).cells(x).value = "test"
    dgv.rows(y).cells(x).style.backcolor = Red ' ou Drawing.color.fromargb(255,255,0,0)
    etc...

    pour ajouter des lignes et des colonnes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dgv.rows.Add(
    dgv.columns.add(
    il y a plusieurs possibilités pour les .add (on appelle ca des surcharges)
    pour une ligne tu peux lui passer des valeurs directement dans un tableau, où les unes à la suite des autres
    pour l'ajout des colonnes il faut définir un type de colonne (texte, image, combobox etc...) et peut etre même un type de données (integer, string)

    il y a des tas d'évènements sur le dgv, et des tas de propriétés, tu peux lui dire que tu veux un editmode = programmatically si tu ne veux que les cellules puissent être modifiées directement comme dans excel, auquel cas tu peux catcher la touche entrée et faire autre chose, il doit y avoir une prorpiétés selectedcells, qui est une collection de cell, une cell doit avoir columnindex et rowindex pour retrouver les coordonnées

    je te laisse gratter un peu de ce côté là
    le mieux c'est tu ailles sur msdn sur la classe datagridview, tous les membres seront listés (propriétés, méthodes, events) avec un court descriptif pour chaque
    allez, bonus, le lien ^^ : http://msdn.microsoft.com/fr-fr/libr...vs.110%29.aspx
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre éclairé Avatar de Uranne-jimmy
    Homme Profil pro
    Bioinformatique
    Inscrit en
    Décembre 2012
    Messages
    778
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Bioinformatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 778
    Par défaut
    Ouaip merci beaucoup, je suis allé voir sur le msdn pour le datagridview (c'est un outil qui m'intrigue beaucoup depuis pas mal de temps, mais je cerne pas ses limites et ses capacités réelles) Et j'ai remarqué la notion de style, style qui peut s'appliquer à une cellule seule, et ça, c'est le pied, c'est ce que je voulais.

    Je vais partir le dessus ^^ merci pour les conseils, le projet est à ces débuts mais j'aimerais partir sur de bonnes bases, en vu de comment le précédent s'est déroulé ><

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    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 202
    Par défaut
    il n'a pas beaucoup de limites la plus remarquée c'est qu'on ne peut pas fusionner de cellules

    mais sinon il est entièrement paramétrable, par exemple il peut calculer automatiquement les largeurs à utiliser, et ce plusieurs manières, on peut aussi lui préciser qu'on va le faire, les colonnes peuvent s'agrandir en pourcentage pour prendre toute la taille du controle
    et beacoup de choses sont paramétrables à ce niveau de détail
    il peut gérer des millions de lignes via le VirtualMode
    une colonne ne peut être que d'un type (textbox, combobox etc...) mais vu que les cellules sont des classes rien n'empêche d'en réécrire une pour une nouvelle fonctionnalité
    même les cellules d'entêtes si on veut les modifier on peut gérer des events de paint ou réécire une classe pour gérer les entetes
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/06/2006, 11h22
  2. barre d'outils sur le bureau
    Par julric dans le forum C++Builder
    Réponses: 4
    Dernier message: 16/11/2005, 18h27
  3. affichage de la date sur forms 6i
    Par safou dans le forum Oracle
    Réponses: 4
    Dernier message: 06/10/2005, 10h58
  4. Réponses: 2
    Dernier message: 15/06/2005, 23h56
  5. Ontop Sur form secondaire
    Par remixtech dans le forum Composants VCL
    Réponses: 2
    Dernier message: 17/03/2003, 22h08

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