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

UserControl - embedovane winforms kontrole

[es] :: .NET :: UserControl - embedovane winforms kontrole

[ Pregleda: 2113 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

_v!rus_
BGD

Član broj: 40451
Poruke: 313
*.dsl.siol.net.



+1 Profil

icon UserControl - embedovane winforms kontrole01.05.2007. u 10:26 - pre 205 meseci
Zna li neko kako da "nateram" vizuelni editor (VS 2k5) da snima design-time promene na podkontrolama moje UserKontrole?

Napravio sam svoj UserControl, natrpao par standardnih WinForms kontrola i expose-ovao ih kao public properties. Kada stavim tu svoju kontrolu na npr. neku formu vidim lepo sve embedovane "podkontrole" u PropertyEditoru, ali posle save-a ili rebuilda sve promene se gube. Postoji li neki hint (one munje sa uglastim zagradama pre property definicije) koji bi ovo resio ili nesto slicno? Nadam se da je ovo resivo posto visual inheritance ne radi, ako i ovo ne radi onda doqrca im i alat i framework...

Poz.
 
Odgovor na temu

_v!rus_
BGD

Član broj: 40451
Poruke: 313
*.dsl.siol.net.



+1 Profil

icon Re: UserControl - embedovane winforms kontrole01.05.2007. u 12:21 - pre 205 meseci
Nasao sam

pre property definicije staviti [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)], npr.:
Code:

[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]        
public ToolStrip TopToolStrip { get { return topToolStrip; } }




 
Odgovor na temu

_v!rus_
BGD

Član broj: 40451
Poruke: 313
*.dsl.siol.net.



+1 Profil

icon Re: UserControl - embedovane winforms kontrole01.05.2007. u 13:05 - pre 205 meseci
Hmmm....jos jedan problem, na istu temu.

Izgleda da se nece serijalizovati svi propery-i podkontrola, cak i kada se koristi DesignerSerializationVisibility.Content.

Primer:
Imamo jednu UserControl-u i jedan TextBox na njoj (textBox). Zatim napravimo public property MyTextBox, gets textBox i ukljucimo DesignerSerializationVisibility.Content.

E sad, svaki TextBox ima property TabStop koji je po defaultu True, kada ga na nasoj UserControl preko PropertEditora postavimo na False onda ce se napraviti odgovarajuca linija u metodu UserControl.InitializeControls -> textBox.TabStop=False, i to "False" ce se boldovati u property editoru sto znaci da je non-default vrednost i da ce se overrideovati u pomenutom InitalizeControls. Za sada je to sve ok...

Kada takav UserControl stavimo na formu vidimo i MyTextBox kao jedan od property-a, i njegov property TabStop=False, koji je boldovan (!!!), jer je to non-default vrednost za TextBox.TabStop. Kada promenimo TabStop na True nece vise biti boldovan (!!!) i nece se napraviti linija TabStop=True u Form1.InitializeControls, jer true *jeste* default vrednost za TextBox.TabStop, i boze moj, sto bi se pravio "dodatni kod" za postavljanje vrednosti koja je ionako default.

Resenje je naravno rucno kucanje dodatnog koda za takve property-e, ali onda designer serijalizacija gubi svaki smisao, zasto su je onda uopste i implementirali ako radi polovicno? Drugo resenje bi bilo ne koristiti non-default vrednosti za property-e podkontrola, sto je jos gluplje...

Poz.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6041



+4631 Profil

icon Re: UserControl - embedovane winforms kontrole01.05.2007. u 15:05 - pre 205 meseci
Cestitam, otkrio si jos jedan od 31000 bagova u visual studiju 2005. (konfete)

Ako prijavis ovo kao 31001 bug, verovatno ces dobiti sledeci odgovor:
"We chose to not make the engineering effort it would have required to enable this scenario for VS 2005. This decision was not make lightly and we understand customers would like this functionality, but <ovde ubaci svoj problem> is extremely costly to address." i bug ce biti zatvoren uz njihovu veliku zahvalnost sto si poboljsao statistiku resenih bugova

Voleo bih i ja da ovako mogu da kazem svom sefu, valjda ako kazes da ti to mozes ali da je to tvoj izbor da ne uradis i da ti je mnogo zao i da si odluku doneo teska srca, onda je ok sto si nesposoban i lenj i sto si upropastio veoma vaznu funkcionalnost od koje zavisi gomila tvojih musterija i tako sebi kupio puno vremena da se bavis novotarijama i interesantnim stvarima kao sto je WPF umesto da pomognes ljudima koji su ti dali pare. Interesantno (ili ne )




Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

_v!rus_
BGD

Član broj: 40451
Poruke: 313
*.dsl.siol.net.



+1 Profil

icon Re: UserControl - embedovane winforms kontrole01.05.2007. u 16:00 - pre 205 meseci
Pa dobro sad, sta je tu je

Mozda ce Orcas nesto poboljsati na temu tih 31000 bugova :evil grin
 
Odgovor na temu

negyxo
Aleksandar Perkuchin

Član broj: 29751
Poruke: 898
*.sksyu.net.



+171 Profil

icon Re: UserControl - embedovane winforms kontrole03.05.2007. u 17:53 - pre 205 meseci
Moze li jedno pitanje?

Zasto je to bug ako ne generise designer defaultne properties-e? Ja sam do sada mislio da je to normalno ponasanje.

A postoji i resenje da se isforsira generisanje bilo cega u designeru. Namesti se CodeDomSerializer za custom kontrolu i viola.
 
Odgovor na temu

[es] :: .NET :: UserControl - embedovane winforms kontrole

[ Pregleda: 2113 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

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