Création d'un composant avec BindingNavigator [Résolu]

Signaler
Messages postés
60
Date d'inscription
lundi 4 décembre 2006
Statut
Membre
Dernière intervention
11 janvier 2013
-
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
-
Bonjour,

J'ai un probleme, je suis en train de créer un composant qui hérite d'un datagridview.
ce composant je lui ajoute un BindingNavigator.
J'aimerai que ce BindingNavigator soit parametrable directement à partir des propriétées de mon composant.
Voici mon code :

#############################################################
using System;
using System.ComponentModel;
using System.Collections.Generic;
using System.Diagnostics;
using System.Text;
using System.Windows.Forms;
using System.Collections;




namespace MonProjet
{
    namespace Data
    {
        namespace Forms
        {
            [System.Drawing.ToolboxBitmap(typeof(System.Windows.Forms.DataGridView))]
            public partial class Ma_DataGridView : DataGridView
            {


                #region définition de BindingNavigator
                private BindingNavigator BarreOutil;    
                #endregion


               [Category("Ma_DataGridView"),
            Description("BarreOutil")]
                public BindingNavigator MaBarreOutil
                {
                    get
                    {
                        return BarreOutil;
                    }
                    set
                    {
                        BarreOutil = value;
                        Construction();
                    }
                }


                public Ma_DataGridView() : base()
                {
                    BarreOutil = new BindingNavigator();
                              
                    //pour l'affichage de ma datagird, je préfére
                    this.Dock = DockStyle.Fill;     
                }
                protected void Construction()
                {
                    //Ajout de ma BindingNavigator
                    this.Controls.Add(BarreOutil);           
                }
                protected override void OnCreateControl()
                {
                    base.OnCreateControl();
                    Construction();
                  
                }
            }
        }
    }
}
######################################################

Lorsque je parametre ma BindingNavigator avec le disgner, tous marche, il s'affiche comme je veut, mais lorsque je compile, il ignore les parametres que je lui est données...

Donc ma question: Comment puis-je l'obliger à prendre en compte les parametres données avec le digner?
Quelqu'un aurai la solution??

Merci.

Qui ne tente rien, n'a rien

5 réponses

Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
36
ajoute cette attribut à ta propriété "MaBarreOutil"


 


[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
Messages postés
60
Date d'inscription
lundi 4 décembre 2006
Statut
Membre
Dernière intervention
11 janvier 2013

oui, il sont présent, mais je vient de trouver la solution:
j'utilise [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)], mais en plus je déclare mon BindingNavigator ici :

#region définition de BindingNavigator
                private BindingNavigator BarreOutil = new BindingNavigator ();    
                #endregion

et je  rajoute cette attribut à ta propriété "MaBarreOutil" :
DefaultValue

(
typeof(
BindingNavigator))
et la sa marche.

merci pour ton aide

Qui ne tente rien, n'a rien
Messages postés
60
Date d'inscription
lundi 4 décembre 2006
Statut
Membre
Dernière intervention
11 janvier 2013

Merci pour ta réponse, mais ça ne marche toujours pas...

Qui ne tente rien, n'a rien
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
36
Est-ce que les propriétés de ton BindingNavigator sont persités dans le .designer.cs ?

Sinon, à la place de
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]

mets :

[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
36
OK.

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]