Własny komponent (Property)

0

Witam,
tworze sobie własna kontrolke i stwarzem jej właściwosci i teraz pytanie jak stworzyc propertisa w takim stylu ze będzie jako lista rozwijana i po rozwinieciu beda sie pokazywaly 2 wlasciwości np wysokosc szerokość
user image

nie ma problemu zeby wstawic takie cos za pomoca wlasciwosci tablic tyle ze wtedy zamiast nazw po lewej stronie mam tylko indeksy...
tutaj kawalek kodu:

        String[] opcje = { "Width", "Height"};
                
        public String[] Size
        {
            get { return opcje; }
            set { opcje[0] = value;
                opcje[1] = value;
            }
        }

Jak ktos wie jak to zrobic to prosze o pomoc :)

0

Nie znam się zbytnio na komponentach ale zawsze wydawało mi się że Size itp to są struktury więc może zamiast tablicy String[] daj nazwę swojej struktury.

0

wlasnie ze strukturami jest pewien problem gdyz, nie da sie na nich zrobic wlasciwosci ;/ chyba ze cos zle robie ale watpie ....

0

Musisz zaimplementować coś co się nazywa TypeConverter, przykład takowego jest tutaj

http://www.codeproject.com/KB/cpp/FlagsEnumConverter.aspx

morethanchaos_maupa_gmail.com

0

morethanchaos, dzieki wielkie za linka na prawde sie przydał ale no widzisz mam kolejne pytanie :)

dzieki FlagsEnumConverter wybrane właściwości mogą być jedynie true/false, mecze sie z tym troche i nie wiem jak to zmienic... Moglbys zucic jakas pomoca ew kto kolwiek kto sie tym bawil ?

0

Nie no sam musisz pokombinować, w zależności od tego co za klasę, strukturę, czy zmienna typu prostego oprogramowujesz. Jak coś to musiał byś podać ciupkę więcej szczegółów, i coś co ma ręce i nogi jako przykład, bo jak się juz chyba zorientowałeś to co podałeś na początku jest dalekie od implementacji tego na czym ci zależy.

0

No wiec powienieważ sobie nie dałem rady z tym propertisem zwracam sie z prośbą o pomoc do kogos kto da sobie rade ;)

        //Propertis w kategorii POŁĄCZENIE
        string haslo;
        [DisplayName("4. Hasło"), Category("Połączenie")]
        [Description("Podaj hasło do wybranego użytkownika")]
        public String Password
        {
            get { return haslo; }
            set { haslo = value; }
        }
        string nazwaUzyt;
        [DisplayName("3. Nazwa użytkownika"), Category("Połączenie")]
        [Description("Podaj nazwę użytkownika, który może połączyć się z bazą")]
        public String Nazwa_Uzytkownika
        {
            get { return nazwaUzyt; }
            set { nazwaUzyt = value; }
        }
        string nazwaBazy;
        [DisplayName("2. Nazwa bazy"), Category("Połączenie")]
        [Description("Wybierz nazwę bazy, z którą chcesz się połączyć")]
        public String Nazwa_Bazy
        {
            get { return nazwaBazy; }
            set { nazwaBazy = value; }
        }
        public enum wybBazy : int
        {
            Oracle = 1,
            SQL_Server = 2
        }
        public wybBazy wybor;
        [DisplayName("1. Wyrór bazy"), Category("Połączenie")]
        [Description("Wybierz rodzaj bazy do której chcesz się połączyć")]
        public wybBazy Wybrana_Baza
        {
            get { return wybor; }
            set { wybor = value; }
        }

Dal wyjaśnienia na dole jest obrazek jak to teraz wygląda - chciałbym zeby wyglądało tak zeby wszystko bylo rozwijane (np tak jak Size co w tym sytulu

  • Size 50;50
    Wysokosc 50
    Szerokosc 50
    )
    user image
0

przecieŻ dostales odpowiedz na CodeGuru pare dni temu. Nie zagladales tam?

0

Mendoza, rzeczywiscie nie widzialem tej odpowiedzi :) wielkie dzieki wlasnie o to mi chodzilo :) nie wiedzialem ze mozna to zrobic tak prosto :]

uwazam temat za zamkniety

1 użytkowników online, w tym zalogowanych: 0, gości: 1