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 :

Recherche controle : Textbox qui se transforme en texte classique


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 23
    Points : 23
    Points
    23
    Par défaut Recherche controle : Textbox qui se transforme en texte classique
    Bonjour,

    Je dois creer une appli C# de gestion de plein de choses (des objets quoi ...)

    J'aurai par exemple
    - une form avec une liste de personne,
    - puis un formulaire de modification des infos d'une personne,
    - et un formulaire de consultation des infos d'une personne.

    J'aurai ce meme principe pour des clients, des plats, des menus, ..etc etc

    après analyse j'ai remarqué que les formulaire de modification et de consultation seront très similaire : seuls les textbox, combo etc seront remplacé par du texte classique.

    Plutôt que de faire 2 form différentes, je pense qu'il serai mieux de faire 1 form mais de trouver des combo, textbox etc avec une fonction pour les transformer en text simple

    Je cherche un composant ( ou un tutoriel ) qui pourrai m'aider...


    Merci de votre aide.

    PS: si vous avez une idée d'une autre approche, je suis preneur aussi.

  2. #2
    Membre confirmé
    Profil pro
    Développeur freelance
    Inscrit en
    Août 2006
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur freelance

    Informations forums :
    Inscription : Août 2006
    Messages : 453
    Points : 586
    Points
    586
    Par défaut
    Tu peux créer la même form pour tous sachant que tu mettra les textBox et les combo ainsi que les labels (texte classique). Ensuite suivant la form tu caches les textBox et les combo ou les labels.

    Mosco

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 23
    Points : 23
    Points
    23
    Par défaut
    Je trouve cela pas super pratique, surtout pour positionner les textes sur les combo ...


    Enfin si il y a pas d'autre solutions ...

    merci

  4. #4
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 252
    Points
    28 252
    Par défaut
    bon la solution de moscoblade c'est bien utile mais c'est pas très optimisé car il faut gérer deux fois plus de composants, que ce soit pour l'affichage ou le binding. Le .Net permet de faire bien mieux que ca

    non, il te faut créer ton propre composant hérité de TextBox, auquel tu rajoutes une propriété publique: isLabel. Ensuite, toujours dans ce controle hérité, tu vas devoir surcharger la méthode onpaint pour que quand isLabel = true, tu redessines pas les bordures de la fenêtre, tu enlèves le fond et tu empêches l'écriture. (smilley (d'ici) est expert pour ce genre de choses bizarres )

    Tu peux aussi (méthode la plus simple et qui prend 3minutes montre en main), faire ca avec un user control. avec une propriété TextValue (qui te sert à binder et à récupérer et une propriété isLabel qui te sert à définir ce qui est affiché. Enfin, ton usercontrol, c'est simplement, un "panel" avec une textbox et un label et c'est dans le usercontrol, simplement en ayant défini isLabel qu'il décidera d'afficher la textbox ou le label.
    pour finir ton code dans la méthode Loading() sera

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if(mode =="edit")
    {
      txtNom.isLabel = false;   // txtNom et txtPrenom sont tes usercontrols
      txtPrenom.isLabel = false;
    }
    else
    {
       txtNom.isLabel =  txtPrenom.isLabel = true; 
    }
    moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom

  5. #5
    Membre éprouvé Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Points : 958
    Points
    958
    Par défaut
    Pour faire plus simple, et si ce résultat est valable pour toi, j'aurais mis des textbox et si c'est en mode "Vue", les passer à ReadOnly.

  6. #6
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 252
    Points
    28 252
    Par défaut
    Citation Envoyé par neptune Voir le message
    Pour faire plus simple, et si ce résultat est valable pour toi, j'aurais mis des textbox et si c'est en mode "Vue", les passer à ReadOnly.
    je pense que l'esthétisme est important pour lui
    moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom

  7. #7
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Plus simple : un textbox dont le BorderStyle est à None et la couleur de fond identique à celle qui le contient ressemble très fort à un label.
    ಠ_ಠ

Discussions similaires

  1. OpenLayers.Control.OpenSearch qui permet de faire une recherche
    Par informatica1989 dans le forum SIG : Système d'information Géographique
    Réponses: 0
    Dernier message: 08/03/2013, 15h03
  2. [C#] mettre en majuscule le texte d'un controle textbox
    Par grome dans le forum Windows Forms
    Réponses: 4
    Dernier message: 09/10/2011, 00h12
  3. Problème de textbox qui ne veut pas afficher de text
    Par vinou94400 dans le forum VB.NET
    Réponses: 14
    Dernier message: 21/10/2009, 14h20
  4. Réponses: 7
    Dernier message: 26/10/2004, 11h02
  5. [C#] Je veux formater un control textBox
    Par justice007 dans le forum Windows Forms
    Réponses: 8
    Dernier message: 28/05/2004, 11h51

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