Avatar billede HPCISCO Nybegynder
12. juni 2013 - 13:21 Der er 1 løsning

Array som property i Visual Studio

Hej,

Visual Studio 2012 Express.
I et C# WinForm projekt har jeg en UserControl med flere properties, som kan sættes fra properties-vinduet under design-time.
UserControl'ens ClassName er "Drum".
En property hedder IsSlaveOf, og er defineret som følger:

[Category("Custom")]
public Drum IsSlaveOf
{
    get
    {
        return _isSlaveOf;
    }
    set
    {
        _isSlaveOf = value;
    }
}

Som det ses kan denne property sættes til en reference af en instans af "Drum".
I mit projekt forefindes adskillige instanser af UserControl'en "Drum".
I properties-vinduet kan jeg i en drop-down-liste så vælge en af de andre instanser, som Visual Studio jo ved findes.
Så lang, så godt.

Nu har "Drum" en anden property, som hedder IsMasterOf, og er defineret som følger:

[Category("Custom")]
public Drum[] IsMasterOf
{
    get
    {
        return _isMasterOf;
    }
    set
    {
        _isMasterOf= value;
    }
}

Læg mærke til at denne property er et array, dvs., man skal have mulighed for i properties-vinduet at udvælge flere instanser.
Problemet er, at man i properties-vinduet nu får vist en "Drum Collection Editor", hvor man ikke kan vælge eksisterende instanser af "Drum", men kun oprette nye.
Hvis jeg forsøger at indtaste navnet på en eksisterende instans, får jeg en melding om, at denne allerede eksisterer.
Indtil videre har jeg omgået problemet ved manuelt selv at sætte denne property i Designer.cs filen for min hovedform, men det er selvfølgelig ikke den rigtige vej fremover.

Hvordan kan man lave denne property, så det bliver muligt at vælge eksisterende instanser direkte i properties-vinduet?

På forhånd tak for eventuel hjælp!
Avatar billede HPCISCO Nybegynder
10. august 2013 - 13:00 #1
Jeg skal nok lave en UITypeEditor til formålet.
Lukker.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester