Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Windows Forms használatával létrehozhat új vezérlőket, vagy örökléssel módosíthatja a meglévő vezérlőket. Ez a cikk kiemeli az új vezérlők létrehozásának módjai közötti különbségeket, és tájékoztatást nyújt arról, hogyan választhat ki egy adott típusú vezérlőt a projekthez.
Alapvezérlő osztály
Az Control osztály a Windows Forms-vezérlők alaposztálya. A Windows Forms-alkalmazások vizualizációs megjelenítéséhez szükséges infrastruktúrát biztosítja, és a következő képességeket biztosítja:
- Elérhetővé tesz egy ablakfogópontot.
- Kezeli az üzenet-irányítást.
- Egér- és billentyűzeteseményeket, valamint sok más felhasználói felületi eseményt biztosít.
- Speciális elrendezési funkciókat biztosít.
- Számos, a vizualizációra jellemző tulajdonságot tartalmaz, például ForeColor: , BackColorHeight, és Width.
Mivel az infrastruktúra nagy részét az alaposztály biztosítja, viszonylag könnyen fejleszthet saját Windows Forms-vezérlőket.
Saját vezérlő létrehozása
Háromféle egyéni vezérlőt hozhat létre: felhasználói vezérlőket, kiterjesztett vezérlőket és egyéni vezérlőket. Az alábbi táblázat segít eldönteni, hogy milyen típusú vezérlőelemet kell létrehoznia:
| Ha... | Hozzon létre egy ... |
|---|---|
|
Felhasználói vezérlő tervezése a System.Windows.Forms.UserControl parancsból való örökléssel. |
|
Egy vezérlőelem kiterjesztése egy adott Windows Forms-vezérlőtől való örökléssel. |
|
Hozzon létre egy egyéni vezérlőt a System.Windows.Forms.Control öröklésével. |
Felhasználói vezérlők
A felhasználói vezérlők olyan Windows Forms-vezérlők gyűjteményei, amelyek egyetlen vezérlőként jelennek meg a fogyasztó számára. Ezt a vezérlőtípust összetett vezérlőnek nevezik. A tartalmazott vezérlőket összetevő vezérlőkneknevezik.
A felhasználói vezérlők az egyes windowsos űrlapok vezérlőihez társított összes belső funkciót tartalmazzák, és lehetővé teszik a tulajdonságok szelektív nyilvánosságra hozását és kötését. A felhasználói vezérlők emellett számos alapértelmezett billentyűzetkezelési funkciót is biztosítanak, és nem igényelnek további fejlesztési erőfeszítéseket.
Létrehozhat például egy felhasználói vezérlőt, amely egy adatbázis ügyfélcímadatait jeleníti meg. Ez a vezérlő tartalmazna egy vezérlőt DataGridView az adatbázismezők megjelenítéséhez, egy BindingSource adatforráshoz való kötés kezeléséhez, valamint egy vezérlőt BindingNavigator a rekordokon való áthaladáshoz. Szelektíven elérhetővé teheti az adatkötési tulajdonságokat, és alkalmazásról alkalmazásra csomagolhatja és újra felhasználhatja a teljes vezérlőt. Az ilyen típusú felhasználói vezérlőkre példa : Útmutató: Attribútumok alkalmazása a Windows Űrlapvezérlőkben.
További információ: Felhasználóvezérlés áttekintése.
Kiterjesztett vezérlők
Örökölt vezérlőt bármely meglévő Windows Forms-vezérlőből származtathat. Ezzel a módszerrel megtarthatja a Windows Forms-vezérlők összes veleszületett funkcióját, majd kiterjesztheti ezt a funkciót egyéni tulajdonságok, metódusok vagy egyéb funkciók hozzáadásával. Ezzel a beállítással felülbírálhatja az alapvezérlő festéklogikát, majd a megjelenés módosításával kibővítheti a felhasználói felületét.
Létrehozhat például egy vezérlőből származtatott vezérlőt Button , amely nyomon követi, hogy egy felhasználó hányszor kattintott rá.
Egyes vezérlőkben egyéni megjelenést is hozzáadhat a vezérlő grafikus felhasználói felületéhez az alaposztály metódusának felülírásával OnPaint . A kiterjesztett gomb, amely a kattintásokat nyomon követi, esetén felülbírájáhatja a OnPaint metódust, hogy meghívja a OnPaint alapértelmezett megvalósítását, majd megrajzolhatja a kattintások számát a Button vezérlő kliens területének egyik sarkában.
Egy vezérlő kiterjesztésére példa: Meglévő vezérlőelem kiterjesztése.
Egyéni vezérlők
A vezérlők létrehozásának másik módja az, hogy lényegesen a kezdetektől kezdve hozzunk létre egyet úgy, hogy öröklődjünk a Control-tól. Az Control osztály a vezérlők által igényelt összes alapvető funkciót biztosítja, beleértve az egér- és billentyűzetkezelési eseményeket is, de nincs vezérlőspecifikus funkció vagy grafikus felület.
Vezérlő létrehozása a Control osztályból való örökléssel több gondolkodást és erőfeszítést igényel, mint a UserControl osztály vagy egy meglévő Windows Forms-vezérlő öröklésével. Mivel sok megvalósítást maga végezhet el, a vezérlő nagyobb rugalmasságot biztosít, mint egy összetett vagy kiterjesztett vezérlő, és a vezérlőt pontosan az igényeihez igazíthatja.
Egyéni vezérlők implementálásához meg kell írnia a OnPaint vezérlő metódusának kódját, amely szabályozza a vezérlő vizuális rajzolását. A vezérlőhöz minden funkcióspecifikus viselkedést is meg kell írnia. Felül is bírálhatja a WndProc metódust, és közvetlenül kezelheti a Windows-üzeneteket. Ez a leghatékonyabb módszer a vezérlők létrehozására, de a technika hatékony használatához ismernie kell a Microsoft Win32 API-t.
Az egyéni vezérlőkre példa egy óravezérlő, amely duplikálja az analóg óra megjelenését és viselkedését. Az egyéni festést azért váltják ki, hogy az óra mutatói egy belső Tick összetevő eseményeire reagálva mozogjanakTimer.
További információ: Egyszerű egyéni vezérlő létrehozása.
ActiveX-vezérlők
Bár a Windows Forms-infrastruktúra windowsos űrlapvezérlők üzemeltetésére lett optimalizálva, továbbra is használhatja az ActiveX-vezérlőket. A Visual Studio támogatja ezt a feladatot. További információkért lásd: Hogyan adhatók hozzá ActiveX-vezérlők a Windows Formshoz?
Figyelmeztetés
Az ActiveX-vezérlők nem támogatottak teljes mértékben a .NET-en. Az ActiveX-vezérlők továbbra is teljes mértékben támogatottak a .NET-keretrendszerben.
Egyéni tervezési felület
Ha egyéni fejlesztési környezetet kell kialakítania, létrehozhatja saját tervezőjét. Összetett vezérlők esetén az egyéni tervezőosztályát az ParentControlDesigner vagy DocumentDesigner osztályokból származtassa. Kiterjesztett és egyéni vezérlők esetén az egyéni tervezőosztályt az ControlDesigner osztályból származtathatja.
Használja a DesignerAttribute-t, hogy a vezérlőt a tervezőhöz társítsa.
Az alábbi információk elavultak, de segíthetnek.
.NET Desktop feedback