[ Bope @ 30.09.2006. 16:15 ] @
Imam C# 2005 u kome pravim svoju kontrolu.Sve je super ali oko par problema razbijam glavu vec 2 dana:

1)Da li mogu (i ako da kako) u UserControl da napravim public property Font koja ce da zameni default Font property UC-a? Npr kad postavim kontrolu na ParentForm i kad joj promenim Font property,UserControl promeni Font property neke osme kontrole i nijedne vise?

1b)Da li to mogu da uradim i sa Font property ParentForm-e?

2)Kako da samo pomocu koda u UC-u saznam da li se u ParentForm-u desio neki event? Da li postoji nesto tipa "on ParentForm mouse move textBox1.text=zika"?

poz!
[ negyxo @ 02.10.2006. 08:19 ] @
1. Mozes. Za detalje malo bolje opisi problem. Ne razumem kako to kad menjas Font user controle menja se na nekoj osmoj kontroli. (bug?)

1b.) Imas Parent property za svaku kontrolu, verovatno i za UC. Tamo mozes pristupiti svim property-ima tog parenta.

2.) Isto kao i 1b. Preko parenta mozes imati bilo koji event za kontrolu.
[ Bope @ 02.10.2006. 13:49 ] @
Pa hteo sam da pitam kako da "zabranim" da programer koji koristi moju usercontrol menja njeno Font svojstvo ili da promena font svojstva ne utice na tu usercontrol nego na neku drugu kontrolu (mozda RefectMessage?)
[ negyxo @ 02.10.2006. 14:28 ] @
Interesantno pitanje...
mogao bi da uradis sledecu stvar

Code:

//ovo nemora ako stavis new kod deklaracije propertija
#pragma warning disable 0114    

        [EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), Browsable(false)]        
        public Font Font
        {
            get
            {
                return base.Font;
            }            
        }

        #pragma warning restore 0114


Ovako nece moci iz designera da se pristupi a iz koda ce biti readonly.
[ Bope @ 02.10.2006. 15:23 ] @
E svaka cast ovo radi posao!

ono za 2) mi nije bas najjasnije - kako da iz UC-a detektujem MouseMove koji se desio u ParentForm kontroli?Naime nisam nasao nista slicno "onMouseMove" ni u ParentForm ni u Parent property-ju.Verovatno zato sto su te metode deklarisane kao protected....Eventi (npr ParentForm_MouseMove) jedino mogu da se nalaze sa leve strane znaka "+=" ili "-="...
[ negyxo @ 02.10.2006. 18:59 ] @
Kako nisi nasao? Evo imas ovo

Code:

this.Parent.MouseMove += new MouseEventHandler(Parent_MouseMove);


Vodi racuna da je ovo parent, sto znaci da ne mora biti forma nego recimo frame ili bilo koja konteiner kontrola.