Kezdőoldal » Számítástechnika » Programozás » Hogy oldjam meg a következő...

Hogy oldjam meg a következő C#-os problémát?

Figyelt kérdés

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?


2011. okt. 5. 08:27
 1/2 anonim ***** válasza:

É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.

2011. okt. 5. 08:40
Hasznos számodra ez a válasz?
 2/2 anonim ***** válasza:
Valószínűleg az a baj, hogy az `obj1`-en belül készítesz egy `f1`-et, de az `f1`-en belül mindig készül egy `obj1`, és tele lesz a verem `form1` és `saját osztály` objektumokkal
2011. okt. 5. 15:58
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!