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

MyClass nasludjuje Form, NewClass nasledjuje MyClass -> dizajner ne radi

[es] :: .NET :: .NET Desktop razvoj :: MyClass nasludjuje Form, NewClass nasledjuje MyClass -> dizajner ne radi

[ Pregleda: 3235 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

ghost2k3
Lat45.2508; Lon19.3919

Član broj: 25133
Poruke: 688
82.117.202.*

Sajt: www.google.com


+8 Profil

icon MyClass nasludjuje Form, NewClass nasledjuje MyClass -> dizajner ne radi23.09.2013. u 08:55 - pre 77 meseci
Ovako imam klasu koja nasledjuje Form. Tu moju klasu nasledjuju ostale klase. Te ostale klase ne mogu da se otvore u dizajneru. Kada zakomentarisem nasledjivanje moje klasi u toj novoj formi, a vratim na Form, sve radi.

public MyClass : Form
{}

public NewClass : MyClass
{
//ne radi designer
}

public NewClass : Form //MyClass
{
//radi designer
}


Ta moja klasa koja se nalazi izmedju u tom lancu nasledjivanja nesto izmeni da dizajner ne radi.
Zakomentarisao sam klasu, tako da prakticno imam praznu klasu i opet ne radi.
Da li je moguce da se nesto "izmeni" kod tog nasledjivanja, bez mog znanja, i da to pokvari dizajner.

Kada se iskompajlira i pokrene aplikacija, sve radi. Ne radi samo dizajner, sto zna biti prilicno iritantno kada treba nesto menjati na UI.
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1324
*.dynamic.sbb.rs.



+306 Profil

icon Re: MyClass nasludjuje Form, NewClass nasledjuje MyClass -> dizajner ne radi23.09.2013. u 09:09 - pre 77 meseci
Da ti nije MyClass slučajno abstraktna (abstract)?
Ili si možda sakrio konstruktor?
Koja je greška u Designer-u kada probaš da otvoriš NewClass?
 
Odgovor na temu

AMD guy
Miroslav
.NET developer

Član broj: 128930
Poruke: 1004

Sajt: www.its.edu.rs


+36 Profil

icon Re: MyClass nasludjuje Form, NewClass nasledjuje MyClass -> dizajner ne radi23.09.2013. u 09:18 - pre 77 meseci
Svi dizajn elementi se nalaze u design fajlu, ako mu se dizajner ne prikazjue greska je verovatno u imefajla.design.cs fajlu, ili ima pogresnu ideju o nasledjivanju.
Evo kako ja mislim da on zamislja nasledjivanje(Njegovo je u crvenom, moje u zelenom)

http://i.imgur.com/V3feW.jpg
http://on.wsj.com/H9yjz6 -- India Graduates Millions, but Too Few Are Fit to Hire
Prikačeni fajlovi
 
Odgovor na temu

ghost2k3
Lat45.2508; Lon19.3919

Član broj: 25133
Poruke: 688
82.117.202.*

Sajt: www.google.com


+8 Profil

icon Re: MyClass nasludjuje Form, NewClass nasledjuje MyClass -> dizajner ne radi23.09.2013. u 10:27 - pre 77 meseci
Nije apstraktna, niti sam sakrio ctor.

Zaboravio sam da dodam i to, da se ta greska ne javlja uvek, nego skoro uvek, ali je jednako neuoptrebljivo i ovo drugo stanje. U tom drugom stanju se nekad dizajner otvori, ali samo imam obrise od forme, sa onom tacka-linijom, ne vidim nista. Kada kliknam na kontrole u properties dlg, javljaju mi se nekad i njihovi obrisi, ali cesto budu nenormalno razbacani po formi, sto nema veze sa stvarnim stanje. Napominjem da kada se izbilda sve radi ok.


Zasto je to pogresno nasledjivanje?
Moja base forma ima neka podesavanja koja hocu da imaju sve forme. Tako da se ona nalazi izmedju Form i formi koje se kasnije vide na UI. To sto si nacrtao u zelenom mi ne treba u ovom slucaju.
Base forma nema UI, odnosno ne dodajem nista ne njega, samo ono sto je nasledjeno od Form. Unutra se samo nalaze eventhandleri za neke event, load, close ....
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1324
*.dynamic.sbb.rs.



+306 Profil

icon Re: MyClass nasludjuje Form, NewClass nasledjuje MyClass -> dizajner ne radi23.09.2013. u 10:32 - pre 77 meseci
Da li si proverio u SVIM .design.cs fajlovima ovo što ti je napisao AMD (da je i tu svuda nasleđena dobra klasa)?
Takođe, ja bih MyClass napravio kao "klot" klasu - obrisao bih designer fajl, partial, InitializeComponent, itd...


[Ovu poruku je menjao dusans dana 23.09.2013. u 12:12 GMT+1]
 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1912
212.178.239.*

Sajt: stackoverflow.com/users/1..


+471 Profil

icon Re: MyClass nasludjuje Form, NewClass nasledjuje MyClass -> dizajner ne radi23.09.2013. u 11:19 - pre 77 meseci
U svakoj klasi u lancu moraš u default konstruktoru pozvati svoju InitializeComponent. Nakon toga zatvori dizajner i rebilduj projekat. Takođe, sav tvoj kod u kontruktoru koji nije potreban u toku dizajniranja izvršavaj samo ako se ne nalaziš u DesignModu:


Code:

if (!this.DesignMode) {
    // tvoj kod
}
 
Odgovor na temu

ghost2k3
Lat45.2508; Lon19.3919

Član broj: 25133
Poruke: 688
82.117.202.*

Sajt: www.google.com


+8 Profil

icon Re: MyClass nasludjuje Form, NewClass nasledjuje MyClass -> dizajner ne radi23.09.2013. u 12:10 - pre 77 meseci
Sve je to ok postavljeno.
Nasao sam ipak koren problema:
Code:

protected override void OnCreateControl()
{
            this.formPlacement = new FormPlacement();
             ...
            try
            {
                this.formPlacement .RefreshZeroSize(this);
                this.formPlacement = true;
 ----->>>> this.formPlacement.SetPlacement(Handle);
                OnPlacementRestorePerfromed();
            }
            catch (Exception exception )
            {
                        ...
             }
            finally
            {
                this.formPlacement = false;
                this.formPlacement = null;
            }
            base.OnCreateControl();
            this.Invalidate();
}


Ta gore oznacena linija pravi problem.


Klasa FormPlacement koristi:
[DllImport("user32.dll")]
public static extern bool SetWindowPlacement(IntPtr hWnd, [In] ref WINDOWPLACEMENT lpwndpl);
 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1912
212.178.239.*

Sajt: stackoverflow.com/users/1..


+471 Profil

icon Re: MyClass nasludjuje Form, NewClass nasledjuje MyClass -> dizajner ne radi23.09.2013. u 12:34 - pre 77 meseci
Možeš li da je premestiš u konstruktor i da je ogradiš sa !DesignMode (da bi sprečio da se to izvršava prilikom učitavanja u dizajneru)?

Pitam jer nisam siguran da li će ti to zabrljati izgled kontrole unutar dizajnera.
 
Odgovor na temu

ghost2k3
Lat45.2508; Lon19.3919

Član broj: 25133
Poruke: 688
82.117.202.*

Sajt: www.google.com


+8 Profil

icon Re: MyClass nasludjuje Form, NewClass nasledjuje MyClass -> dizajner ne radi23.09.2013. u 12:57 - pre 77 meseci
Mogu ja i u OnCreateControl() da je ogradim i nece pucati u dizajneru.

Moram da proverim da li nesto menja. Ali ubedjen sam da to i nije bitno za dizajner, nego samo aplikaciju, posto pamti podesavanja.

 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: MyClass nasludjuje Form, NewClass nasledjuje MyClass -> dizajner ne radi

[ Pregleda: 3235 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

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