PropertyGridEx CustomProperty met Choices

Status
Niet open voor verdere reacties.

The Mighty Atom

Terugkerende gebruiker
Lid geworden
22 mei 2008
Berichten
1.380
Ik maak gebruik van een PropertyGridEx control om custom properties te maken en weer te geven, zie artikel op CodeProject: om http://www.codeproject.com/Articles/13630/Add-Custom-Properties-to-a-PropertyGrid

Maar ik heb problemen met het toekennen van choices aan mijn custom property, wat ik ook probeer, ik krijg telkens een NullReference exception en ik zie maar niet waarom. Misschien is hier iemand die weet hoe ik custom choices aan mijn custom property kan toekennen? Hier is hoe ik mijn property declareer:

CustomProperty instance genaamd prop:

Code:
PropertyGridEx.CustomProperty prop = new PropertyGridEx.CustomProperty();

Hier de category, naam en description:

Code:
prop.Category = "Misc";
prop.Name = "Taal";
prop.Description = "Selecteer de gewenste taal";

Vervolgens wil ik dat deze property een aantal keuzes krijgt om uit te kiezen, in dit geval een aantal beschikbare talen:

Code:
[COLOR="#FF0000"]prop.Choices.Add("Engels");[/COLOR]
prop.Choices.Add("Duits");
prop.Choices.Add("Nederlands");
prop.Choices.Add("Frans");

En hier gaat het mis, op het moment dat ik "Engels" probeer toe te voegen aan Choices, dan krijg ik een NullReferenceException. Waarom. :(

Hier is wat er verder nog moet gebeuren, als het wel zou werken:
De CustomProperty toevoegen aan het PropertyGrid:

Code:
propertyGridEx.Item.Add(prop);

Grid verversen:
Code:
propertyGridEx.Refresh();

Ik hoop dat er iemand is die dit zou willen uit proberen, maar dat betekend wel dat je de ProperyGridEx library moet download en toevoegen aan je project.
Ik hoor het graag. :)
 
heb je de choices lijst wel eerst aangemaakt? (prop choices = new .... etc)
 
Uhm...
Dus zoiets bedoel je:

Code:
Choices choice = new Choices();

choice.Add("Engels");
choice.Add("Duits");
choice.Add("Nederlands");
choice.Add("Frans");

prop.Choices.Add(choice);

Hmm. Volgens mij is dat zowiezo niet goed. Het is lastig, want het voorbeeld project op CodeProject laat helaas niet zien hoe je zoiets doet.
 
nee, geen aparte variable

prop.Choices = new List<string>(); (of wat het dan ook is)

prop.Choices.Add("Engels");
prop.Choices.Add("Duits");
prop.Choices.Add("Nederlands");
prop.Choices.Add("Frans");


als deze niet is aangemaakt krijg je een null ref exception als je wilt toevoegen, dit is tenmiste het eerste waar is aan zou denken.
 
Laatst bewerkt:
Ah, ik ben er uit:

Code:
            string[] langs = new string[] { "Engels", "Duitse", "Nederlands", "Frans" };
           
            prop.Choices = new PropertyGridEx.CustomChoices(langs);

            prop.Value = prop.Choices[2]; //Standaard waarde op Nederlands zetten

Dank, bloodshed. :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan