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 :

Design de User Control


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut Design de User Control
    Bonjour

    Je ne sais pas si certains ont de l'expérience avec les user control
    Mais la mienne apres 1 journée de patience est désastreuse !

    Je pense que je vais jeter ce sac de noeud aux oubliette

    Le deux probleme majeur pour moi sont
    1 - L'instabilité du design
    2 - L'instabilité générale générée par un user control dans les designer

    1 Instabilité de design

    Je passe beaucoup de temps a alligner correctement mes composant (text box) et leur donner une taille precise

    J'ajoute le UserControl dans une form
    Je compile

    Et hop mes text box sont désalignés !!

    A part ce problème, j'en ai eu d'autres
    Catastrophe si je change le design d'un user control déja inclu dans une form, c'est l'indigestion totale

    Parfois je retrouve deux instance du user control dans le designer alors que je ne l'utilise qu'une fois

    Bref, il me semble vraiment qu'il vaut mieux eviter les user control en csharp pour moi, j'y perds plus de temps que de betement dupliquer mes composant quand j'en ai besoin !

    Ou alors il y a des trucs encore secrets qui m'échappent !

  2. #2
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    salut olibara


    pas de probleme particulier a mon niveau avec les CU, j'utilise souvent un TableLayoutPanel ou n'importe quel autre conteneur pour y placer tous les sous-composants, ensuite j'utilise les propriétés Dock et/ou Anchor pour qu'ils ce positionnent automatiquement dans le conteneur.


    pour le design je vois pas, tu as un exemple ?

  3. #3
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Salut Lorenzo77


    Si tu veux je peux t'envoyer le petit control que j'essayais de designer hier

    4 labels en taille fixe sur le fond du control
    - Il sont parfaitement allignés
    - Ils ont la meme taille
    - ils sont tous ancrés

    Je place le control dans une forme : tout va bien
    - Je compile et hop il y a un petit tremblement de terre et les voila décalés

    Apres 1h30 de chipo c'a m'a dégouté et je suis passé en manuel

    - J'ai au moins appris comment faire un UC
    - Mais j'ai aussi appris que c'était casse gueulle

  4. #4
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Citation Envoyé par olibara Voir le message
    J'ajoute le UserControl dans une form
    Je compile et hop mes text box sont désalignés !!
    Vérifie les ancres des contrôles de ton UserControl et surtout la propriété AutoScaleMode du form. Cette dernière peut générer ce genre de choses (met la à None pour test).

    A part ça, je n'ai jamais vraiment eu de soucis avec les UserControl, ça marche plutôt bien

  5. #5
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Salut Stormimon

    Je viens d'essaye de changer l'autoscale il était a "font" je l'ai mis "None"

    (je parle bien de la form de fond du control)

    Mais c'est toujours le meme bazar

    A tout hazard j'envoie le zip de ce petit control

  6. #6
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Ca fonctionne très bien de mon côté. Teste ton contrôle sur un nouveau projet Windows pour voir à la rigueur.

    La seule petite chose que j'ai vu c'est dans la propriété ShowLambert
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    txbLambX.Size = txbLambY.Size = new Size(77, 20);
    Si jamais la taille de base des TextBox ne correspond pas à ça tu auras quelque chose de pas joli éventuellement.

    Avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    txbLambX.Size = txbLambY.Size = txtX.Size;
    cela évitera ce petit désagrément.

  7. #7
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    salut olibara

    pour info, je fais des UC depuis plusieurs années et je n'ai jamais trop rencontré de problème.

    Et j'en ai fait qui n'était que des agrégats de controles comme d'autre ou je faisais du dessin "compliqué" et performant

    Donc, je pense que tu dois avoir une cagade quelque part

    Cependant, les UC, ca reste très utile et très performant

    Je t'avouerais perso que je fais TRES souvent des UC, et la plupart du temps, c'est plus des UC personnalisé avec mon propre Paint() que des agrégats

    The Monz, Toulouse

  8. #8
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    je viens de tester ton CU et effectivement il y a une surprise des que l'on place le composant sur la Form.

    c'est ce que je disais au dessus, tu n'utilises pas de conteneur pour pouvoir controler exactement le positionnement de tes TextBox.
    j'ai refais ton CU en utilisant un TableLayoutPanel et le probleme disparait (test_olibara.zip))


    si tu veux que tes TextBox soient bien collés entre eux (comme ton exemple), suffit de mettre des marge a 0 et des ancres sur tous les cotés (test_olibara2.zip)
    Fichiers attachés Fichiers attachés

  9. #9
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Citation Envoyé par StormimOn Voir le message
    Ca fonctionne très bien de mon côté. Teste ton contrôle sur un nouveau projet Windows pour voir à la rigueur.

    La seule petite chose que j'ai vu c'est dans la propriété ShowLambert
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    txbLambX.Size = txbLambY.Size = new Size(77, 20);
    Si jamais la taille de base des TextBox ne correspond pas à ça tu auras quelque chose de pas joli éventuellement.

    Avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    txbLambX.Size = txbLambY.Size = txtX.Size;
    cela évitera ce petit désagrément.

    +1

    C'est bien ca !

    Et merci aussi beaucoup a Lorenzo77 et theMonz31 qui m'ont tout autant encouragé a perseverer avec le UC

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/11/2006, 13h34
  2. Réponses: 8
    Dernier message: 07/06/2006, 16h47
  3. [C#] User Control dynamic
    Par Erakis dans le forum ASP.NET
    Réponses: 10
    Dernier message: 21/10/2004, 18h54
  4. [C#] DateTimePicker web user control
    Par titi29 dans le forum ASP.NET
    Réponses: 8
    Dernier message: 29/06/2004, 18h38
  5. [VB.NET] Provoquer le rechargement d'un user control..
    Par didoboy dans le forum ASP.NET
    Réponses: 7
    Dernier message: 30/04/2004, 14h17

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