|
Amikor űrlapot indítunk, néha információt kell szereznünk a jelenlegi űrlapról, vagy hívnunk kell más űrlapok vezérlését. Itt két módszert mutatok be ennek elérésére.
Amikor más formákból kell irányítani egy formában, használhatunk vezérlőket. CheckForIllegaCrossThreadCalls=false; Például: Button.CheckForIllegalCrossThreadCalls=false; Természetesen az egész formát keresztszálas is lehet, hogy Form.CheckForIllegalCrossThreadCalls=false; Ez lehetővé teszi, hogy más formákban is hozzáférjünk az űrlap vezérlőihez vagy tulajdonságaihoz. Ez talán nem a legbiztonságosabb módszer, és néha a hibakeresés hibát adhat.
Itt bemutatok egy másik módszert, amely elérhető több szálon keresztül. Az invoke ugrik az űrlapszálra, hogy végrehajtsa a a küldött függvényét
Először is ki kell jelentenünk egy bizottságot. public delegate void DelSetTime(object str); Ezután csak elő kell készítenünk a végrehajtandó függvényt, public void setTime(objektum str); Most a küldöttet a forma szálára helyezhetjük, hogy végrehajtsa Delegate d=new DelsetTime(setTime); ez. invoke(d,Datetime.Now.ToString()); Így elérhetjük a keresztszálas hozzáférést.
Minden űrlapnak van egy szála, amely főként a rajzolás és az űrlapvezérlés befejezéséért felelős Ezt a szálat forma szálnak vagy fő szálnak nevezzük. Sokszor szálakat kell hozzáadnunk az űrlaphoz az adatok feldolgozásához, és akkor ezeket az újonnan létrehozott szálakat háttérszálként állíthatjuk be, amikor az űrlap zárva van A téma is véget ér. ThreadStart ths=új ThreadStart (demo); Szál th= új szál(th); th. Start(); th. IsBackground=true;
Eredeti: http://bingdao.sinaapp.com/net%E4%BD%93%E7%B3%BB/380.html
|