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 :

[winforms] fenêtre de saisie polymorphique


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    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 [winforms] fenêtre de saisie polymorphique
    bonjour

    une petite question pour savoir s'il y des méthodes connues ou efficaces, car c'est une chose que je trouve pas toujours évidente à coder proprement ; le cas d'une saisie dont un élément est visible/enabled/obligatoire selon la valeur d'un autre élément

    je me retrouve des fois avec une fenêtre qui demande une dizaine de choses, et selon le choix dans une liste je dois verrouiller un controle, rendre visible un autre tout en modifiant la collection Items d'un combobox etc... et selon le choix suivant c'est une autre valse qui contredit parfois l'ancienne ^^ etc...
    ajouté à cela, nous sommes plusieurs à prendre le relais sur chaque appli, mettant un peu plus de bordel à chaque modif demandée par le client

    j'ai donc au final un code pas très maintenable avec des .enabled partout, la gestion des CheckChanged ou SelectedChanged ...
    sans parler du code du bouton valider qui se retrouve avec une requête qui parfois diffère légèrement selon le cas et les tas de tests d'obligatoire ou non pour forcer la saisie

    y a t il donc des bonnes pratiques sur ce sujet ? vos techniques ?
    merci
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  2. #2
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    J'ai un peu le même cas en ce moment:

    Plusieurs, Combobox, listview etc... Avec quand même une certaine hiérarchie. On gérai tout dans le code (enable, visible, liste d'élément) mais comme toi, la multitude des cas était a se tirer les cheveux.

    On passe donc maintenant par une base, propre et hiérarchise:

    Param_niveau1, Param_niveau2, Param_niveau3 etc...

    Avec pour la première table un auto-incrément, libellé.
    Pour les autres: Auto-incrément, clé-étrangère table supérieur, libellé.

    Ensuite un seul principe: Au change d'un élément, appelle en base des infos du niveau inférieur, avec la clé étrangère et sélection par défaut du premier, qui déclenche le "change" du niveau inférieur etc etc.

    Les requêtes sont ultra rapides, les évènements en cascades infaillible. Les mises à jour sont faciles et dynamique (pas comme du code en dur).

    Après je ne sais pas si ça peut s'appliquer a ton cas.

Discussions similaires

  1. Fonction fenêtre de saisie etendue
    Par MathildeR dans le forum VBA Access
    Réponses: 1
    Dernier message: 25/03/2013, 11h40
  2. Réponses: 2
    Dernier message: 09/08/2010, 15h12
  3. Réponses: 2
    Dernier message: 22/10/2008, 11h51
  4. Réponses: 1
    Dernier message: 12/11/2007, 14h04
  5. [Débutant] Création d'une fenêtre de saisie de données par l'utilisateur
    Par Alucard9800XT dans le forum Interfaces Graphiques
    Réponses: 5
    Dernier message: 13/04/2007, 22h38

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