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

C# Discussion :

UserControl, question "complexe" ?


Sujet :

C#

  1. #1
    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
    Points : 5 195
    Points
    5 195
    Par défaut UserControl, question "complexe" ?
    Bonjour

    J'ai un userControl.

    Dedans, j'ai quelques panels, etc...

    Je voudrais que lorsque j'ajoute ce UserControl dans une form, l'utilisateur puisse ajouter des controles uniquement à 1 panel que j'aurais choisi.

    Je sais faire cela par code.. no problemo

    Mais comment faire en sorte qu'au Designer, je puisse ajouter que sur un panel bien spécifique d'autres controles ?

    (En fait, je réalise un controle qui permet d'avoir des règles (rulers) d'affichées et qui gère le scrolling des règles en fonction du scrolling d'un panel central)

    Pour info, j'ai essayé de surchargé le OnControlAdded pour ajouter à mon panel et non à mon user control un objet ajouté par l'utilisateur. Cela marche très bien SAUF que je ne vois pas le controle ajouté au designer...

    Est-ce que quelqu'un saurait me dire comment résoudre cela ?

    The Monz, Toulouse
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  2. #2
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Il y avait un sujet il n'y pas longtemps sur les usercontrol de type container. Peut-être qu'une recherche pourra te permettre de la retrouver (je n'ai plus le lien en tête).

    EDIT : http://support.microsoft.com/kb/813450
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  3. #3
    Membre habitué Avatar de Nikoui
    Inscrit en
    Décembre 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Décembre 2007
    Messages : 119
    Points : 142
    Points
    142
    Par défaut
    Je dis peut être une bêtise (je n'ai pas la possibilité de tester), mais en mettant les contrôles que tu veux verrouiller en private (ou protected) ? (comme on le ferai dans un héritage de Form)
    Working as designed

  4. #4
    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
    Points : 5 195
    Points
    5 195
    Par défaut
    salut

    Plusieurs pistes :

    Si j'hérite d'un panel, je peux manipuler comme je veux au Designer sauf que si j'ai d'autre panel qui sont dans le Panel de base (celui dont j'hérite), je vais pouvoir mettre d'autres controles dessus

    Ce que je veux, c'est un control ou j'aurais des "bandeaux"... non modifiables et par contre, avoir une zone ou l'utilisateur pourra mettre quelque chose...

    En jouant avec les propriétés d'accès (public, etc...) , tu joues sur la capacité à accéder au membre, mais pas pour le designer

    Un exemple simple :

    Créer un Usercontrol...
    Y mettre un panel dedans en dock Top
    Mettre un second Panel en Dock Fill

    Et ensuite, insérer le dit userControl dans une form...

    Ce que je veux, c'est pouvoir ajouter (par exemple) un bouton au Panel 2 (celuil en Dock.Fill) et ne pas pouvoir ajouter quoique ce soit dans le Panel 1 (Dock.Top)....

    Peut-etre ce descriptif est plus clair

    Si j'hérite d'un Panel mon userControl, ca résoud pas le truc (mais peut-etre est-ce une piste avec des options à ajouter ?

    Et si j'associe à ma classe un designer Type, beh, ca le fait pas vraiment au niveau affichage

    A mon avis, il faut surement "surcharger" OnControlAdded pour "router" l'ajout d'un control vers l'ajout du control dans le panel désiré... Ca j'arrive à le faire mais malheureusement, ca fonctionne au RunTime, pas en Design

    Une idée ?

    The Monz, Toulouse
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  5. #5
    Membre habitué Avatar de Nikoui
    Inscrit en
    Décembre 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Décembre 2007
    Messages : 119
    Points : 142
    Points
    142
    Par défaut
    Citation Envoyé par theMonz31 Voir le message
    En jouant avec les propriétés d'accès (public, etc...) , tu joues sur la capacité à accéder au membre, mais pas pour le designer
    Lorsque tu fais de l'héritage de Form, le fait de mettre ton contrôle graphique en private/protected (je parle bien du contrôle, via la propriété adéquate dans le designer), cela empêche ensuite de modifier le contrôle en question dans les Form enfant, même via le designer. Je me demandais donc si le comportement était le même dans le cas d'un user control (ce que je ne peux pas vérifier) : peut être qu'en passant les contrôles en private il ne seront pas modifiable par le designer lors de l'utilisation du user control dans un container.
    Working as designed

  6. #6
    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
    Points : 5 195
    Points
    5 195
    Par défaut
    salut

    avec ce lien, j'ai réussi à faire ce que je voulais faire

    http://forums.microsoft.com/MSDN/Sho...95503&SiteID=1
    Désolé

    Et merci pour les pistes !!!

    The Monz, Toulouse
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

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