[ Bope @ 26.12.2007. 05:06 ] @
Pozdrav! Pravim svoj UserControl u C# 2005 i naleteo sam na grdan problem: Zelim da taj moj UserControl kao pozadinsku boju dobije gradijent koji korisnik (drugi programer) odredi iz properties grid-a.Nema problema - napravio sam custom prozor koji se pojavljuje u properties grid-u i u kome korisnik kontrole odredjuje parametre gradijenta.E sad,nakon setovanja gradijenta sve bude ok ali posle kompajliranja projekta koji koristi moju UserControl gradijent se ponisti,jednostavno nestane! U Form1.designer (Form1 je parent moje kontrole),pod listom propertija moje kontrole nema svojstva za gradijent!!! (prilikom postavljanja kontrole,to svojstvo postoji i setovano je na null,posle kompajliranja svojstvo nestane). Evo ga kod za setovanje gradijenta moje UserControl,nadam se da ce neko moci da mi kaze u cemu gresim! ![]() Code: private class ContrastEditor : UITypeEditor { public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context) { return UITypeEditorEditStyle.DropDown; } public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { IWindowsFormsEditorService wfes = provider.GetService( typeof(IWindowsFormsEditorService)) as IWindowsFormsEditorService; if (wfes != null) { probapropertis.Form2 _frmContrast = new probapropertis.Form2(); _frmContrast._wfes = wfes; wfes.DropDownControl(_frmContrast); value = _frmContrast.DohvatiGrad(); } return value; } } LinearGradientBrush _bckgr; [Editor(typeof(ContrastEditor), typeof(UITypeEditor))] public LinearGradientBrush BackgroundGrad { get { return _bckgr; } set { _bckgr = value; Invalidate(); } } Jeste,vidim ja to "LinearGradientBrush _bckgr;" ali bez obzira koju default vrednost da mu dam,uvek se desi isto.... Druga svojstva kontrole (koja su tipa,recimo,Color) rade regularno i ostaju onakva kakva su setovana od strane korisnika bez obzira koja im je default vrednost....Da li je to do tipa sa kojim se radi? Pokusao sam i sa Brus tipom (pa ga posle,castujem u LinearGradientBrush) ali isto... O cemu se radi? P.S. Moja kontrola je izvedena iz "Button" klase |