Hogy oldjam meg a következő C#-os problémát?
a form1 classból (amit alapból legyárt a C#) használom a this.Controls.Find("a", true) -t.
Na már most, és csináltam egy saját objektumot is, nevezzük obj1-nek. ebben példányosítottam a form1-et f1 néven,
de amikor onnan akarom meghívni a Controls-t a következő módon: f1.Controls.Find("a", true)-t akkor futtatáskor egy csomó hibába fut, amit a Form1.Designer.cs-ben talál. Mindig másba köt bele, és nem értem hogy miért. írok egy példát;
van egy ilyen sor hogy :
this.ResumeLayout(false); és erre "StackOverflowException was unhandled" hibát dob.
A kérdésem az lenne hogy hogyan tudnám a obj1-ből megnyitni a form1 Controls-át?
Érthetetlen, hogy mit akarsz.
StackOverflowException legtipikusabb előfordulási esete, mikor végtelen rekurzió történik. Debuggerben a Call Stack-ban láthatod, hogy ugyanaz a függvény, vagy függvények ismétlődnek sokszor.
Controls.Find-al csak legritkább esetben hivatkozunk Control-ra, designerben összepakolt form esetén minden Controlt rögzít egy-egy változóban.
Illetve szerezz egy C#-os tankönyvet.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!