2010-12-14 2 views
1

J'ai une classe que j'ai définie comme objet source dans une grille de propriétés. Les valeurs proviennent d'une liste de valeurs:Saisie semi-automatique pour le champ de la grille de propriétés

class Person 
{ 
    ... 

    [TypeConverter(NationalityStringConverter)] 
    public string Nationality 
    ... 

class NationalityStringConverter: StringConverter 
{ 
    public override bool GetStandardValuesSupported(ITypeDescriptorContext context) 
    { 
     return true; 
    } 

    public override bool GetStandardValuesExclusive(ITypeDescriptorContext context) 
    { 
     return true; 
    } 

    public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) 
    { 
     // return my value collection 

Maintenant, ma question. Il est possible de faire de cette liste une liste de suggestions. De la même façon que vous le mettre à un ComboBox comme:

comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend; 
comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems; 

Thx 4 réponses

Répondre

0

juste essayer d'accéder à l'élément ComboBox qui est ajouté par la grille de la propriété. Je ne sais pas si cela est faisable, mais la peine d'essayer;)

0

Si vous créez une coutume UITypeEditor vous devriez être en mesure de modifier le comportement et créer votre propre zone de liste que vous pouvez afficher lorsque EditValue est appelé à l'aide IWindowsFormsEditorService .DropDownControl. Cela pourrait vous donner accès au contrôle dont vous avez besoin. Le PropertyGrid possède également un événement ControlAdded, vous pourrez peut-être l'utiliser pour accéder à la liste de sélection qu'il crée pour la modification.

Je suis actuellement en train de me battre avec PropertyGrid, donc je ne suis pas sûr si l'une de ces options vous donne ce dont vous avez besoin, mais ça peut aider.

Questions connexes