Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

ITypeDescriptorContext.Instance

[es] :: .NET :: ITypeDescriptorContext.Instance

[ Pregleda: 2079 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

twister

Član broj: 735
Poruke: 147
195.250.117.*



Profil

icon ITypeDescriptorContext.Instance05.06.2003. u 17:46 - pre 254 meseci
OGROMAN problem!

Potrebno mi je da u designer-u imam property koji ce da otvori moj editor koji nasledjuje UITypeEditor. Problem je u sledecem: metoda koja pripada toj klasi a zaduzena je za editovanje vrednosti, tj, poziva se kada se klikne na one tri tackice pored naziva property-a u designeru izgleda ovako:

public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)

u samom MSDN-u pise da ITypeDescriptorContext.Instance NE VRACA UVEK pokazivac na objekat ciji property menjamo.

A meni je on NEOPHODAN jer hocu da: preko njega, tj. njegovog parenta ili ownera iscitam koji su recimo sve textbox-ovi na formi na kojoj se moja komponenta nalazi.

I desava se sledece: postavim kontrolu na formu, u deigneru kliknem na property i on radi, i tako ko zna koliko puta, pa onda odjednom kaze da objekat nije instanciran pa onda tako ko zna dokle pa malo radi pa malo ne radi.

I sa samim primerom FlashTrackBar koji ide uz C#, isto se desava.

Moze li mi neko molim vas pomoci? Poludecu zbog ovoga!

Da nije mozda problem u tome sto ja imam prvu verziju .NET Framework-a, ili mi je pristup totalno pogresan?
 
Odgovor na temu

Reljam
Relja Markovic
San Francisco

Član broj: 531
Poruke: 1793
*.microsoft.com



+18 Profil

icon Re: ITypeDescriptorContext.Instance05.06.2003. u 21:02 - pre 254 meseci
Nikad nisam sa ovim radio, ali pretpostavljam da je razlog to sto je moguce pozvati taj metod bez instance (nije selektovana u forms editoru ili nije aktivna). Zbog toga treba da uradis ovo na pocetku:

if (context == null || context.Instance == null || provider == null)
return;
 
Odgovor na temu

twister

Član broj: 735
Poruke: 147
195.250.117.*



Profil

icon Re: ITypeDescriptorContext.Instance17.06.2003. u 03:45 - pre 253 meseci
Ok, to sam resio sa try/catch (da ne izbacuje gresku), ali onda se, normalno, nista ne desi (kao i u tvojoj varijanti); tj. ne mogu da promenim property uz pomoc mog editora. Nisam se precizno izjasnio, nije problem da samo izbegnem gresku, vec i da UVEK mogu da koristim svoj property editor i da UVEK taj property editor zna koje su komponente na formi.
 
Odgovor na temu

[es] :: .NET :: ITypeDescriptorContext.Instance

[ Pregleda: 2079 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.