Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Met visuele overname kunt u de besturingselementen op het basisformulier zien en nieuwe besturingselementen toevoegen. In dit scenario maakt u een basisformulier en compileert u dit in een klassebibliotheek. U importeert deze klassebibliotheek in een ander project en maakt een nieuw formulier dat wordt overgenomen van het basisformulier. Tijdens deze rondleiding leert u hoe u het volgende kunt uitvoeren:
Maak een klassebibliotheekproject met een basisformulier.
Voeg een knop toe met eigenschappen die afgeleide klassen van het basisformulier kunnen wijzigen.
Voeg een knop toe die niet kan worden gewijzigd door overnames van het basisformulier.
Maak een project met een formulier dat wordt overgenomen van
BaseForm.
Uiteindelijk zal deze walkthrough het verschil aantonen tussen privé- en beschermde besturingselementen op een geërfd formulier.
Waarschuwing
Niet alle besturingselementen ondersteunen visuele overname vanuit een basisformulier. De volgende besturingselementen bieden geen ondersteuning voor het scenario dat in deze handleiding wordt beschreven:
Deze besturingselementen in het overgenomen formulier zijn altijd alleen-lezen, ongeacht de modifiers die u gebruikt (private, protectedof public).
Een klassebibliotheekproject met een basisformulier maken
Kies in Visual Studio in het menu BestandNieuw>Project om het dialoogvenster Nieuw project te openen.
Maak een Windows Forms-toepassing met de naam
BaseFormLibrary.Als u een klassebibliotheek wilt maken in plaats van een standaard Windows Forms-toepassing, klikt u in Solution Explorer-met de rechtermuisknop op het Projectknooppunt BaseFormLibrary en selecteert u vervolgens Eigenschappen.
Wijzig in de eigenschappen voor het project het uitvoertype van Windows-toepassing in Klassebibliotheek.
Kies in het menu BestandAlle opslaan om het project en de bestanden op de standaardlocatie op te slaan.
De volgende twee procedures voegen knoppen toe aan het basisformulier. Als u de overname van visuele elementen wilt demonstreren, geeft u de knoppen verschillende toegangsniveaus door hun Modifiers eigenschappen in te stellen.
Een knop toevoegen die overnemers van het basisformulier kan wijzigen
Open Form1- in de ontwerpfunctie.
Dubbelklik op het tabblad Alle Windows-formulieren van de Werksetop knop om een knop aan het formulier toe te voegen. Gebruik de muis om de knop te plaatsen en het formaat ervan te wijzigen.
Stel in het venster Eigenschappen de volgende eigenschappen van de knop in:
Stel de eigenschap Text in op Say Hello.
Stel de eigenschap
(Name) in op btnProtected .Stel de eigenschap Modifiers in op Beveiligd. Dit maakt het mogelijk voor formulieren die overnemen van Form1- om de eigenschappen van btnProtectedte wijzigen.
Dubbelklik op de knop Say Hello om een gebeurtenis-handler toe te voegen voor de Klik op gebeurtenis.
Voeg de volgende coderegel toe aan de gebeurtenis-handler:
MessageBox.Show("Hello, World!")MessageBox.Show("Hello, World!");
Een knop toevoegen die niet kan worden gewijzigd door overnames van het basisformulier
Ga naar de ontwerpweergave door te klikken op de Form1.vb [Ontwerp], Form1.cs [Ontwerp] of Form1.jsl [Ontwerp] tabblad boven de code-editor of door op F7 te drukken.
Voeg een tweede knop toe en stel de eigenschappen als volgt in:
Stel de eigenschap Text in op Say Goodbye.
Stel de eigenschap (Name) in op btnPrivate.
Stel de eigenschap Modifiers in op Private. Dit maakt het onmogelijk voor formulieren die overnemen van Form1- om de eigenschappen van btnPrivate-te wijzigen.
Dubbelklik op de knop Zeg afscheid om een gebeurtenishandler toe te voegen voor de Klik op gebeurtenis. Plaats de volgende coderegel in de gebeurtenisprocedure:
MessageBox.Show("Goodbye!")MessageBox.Show("Goodbye!");Kies in het menu BuildBuild BaseForm Library om de klassebibliotheek te bouwen.
Zodra de bibliotheek is gemaakt, kunt u een nieuw project maken dat wordt overgenomen van het formulier dat u zojuist hebt gemaakt.
Een project maken dat een formulier bevat dat wordt overgenomen van het basisformulier
Kies in het menu BestandToevoegen en nieuw project om het dialoogvenster Nieuw project toevoegen te openen.
Maak een Windows Forms-toepassing met de naam
InheritanceTest.
Een overgenomen formulier toevoegen
Klik in Solution Explorer-met de rechtermuisknop op het project InheritanceTest, selecteer Toevoegenen selecteer vervolgens Nieuw item.
Selecteer in het dialoogvenster Nieuw item toevoegen de categorie Windows Forms (als u een lijst met categorieën hebt) en selecteer vervolgens de overgenomen formulier sjabloon.
Laat de standaardnaam van
Form2staan en klik vervolgens op toevoegen.Selecteer in het dialoogvenster ErfeniskiezerForm1 in het project BaseFormLibrary als het formulier waarvan u wilt overerven en klik op OK.
Hiermee maakt u een formulier in het project InheritanceTest dat is afgeleid van het formulier in BaseFormLibrary-.
Open het overgenomen formulier (Form2) in de ontwerpfunctie door erop te dubbelklikken als het nog niet is geopend.
In de ontwerpfunctie hebben de overgenomen knoppen een symbool (
) in de bovenhoek, waarmee wordt aangegeven dat ze zijn overgenomen.Selecteer de knop Say Hello en bekijk de formaatgrepen. Omdat deze knop is beveiligd, kunnen de overnemers deze verplaatsen, het formaat ervan wijzigen, het bijschrift wijzigen en andere wijzigingen aanbrengen.
Selecteer de privéknop Zeg vaarwel en je ziet dat deze geen formaatgrepen heeft. Bovendien worden in het venster Eigenschappen de eigenschappen van deze knop grijs weergegeven om aan te geven dat ze niet kunnen worden gewijzigd.
Als u Visual C# gebruikt:
Klik in Solution Explorermet de rechtermuisknop op Form1- in het project InheritanceTest en kies verwijderen. Klik in het berichtvak dat wordt weergegeven op OK om de verwijdering te bevestigen.
Open het bestand Program.cs en wijzig de regel
Application.Run(new Form1());inApplication.Run(new Form2());.
Klik in Solution Explorer-met de rechtermuisknop op het project InheritanceTest en selecteer Instellen als opstartproject.
Klik in Solution Explorer-met de rechtermuisknop op het project InheritanceTest en selecteer Eigenschappen.
Stel op de eigenschapspagina's van InheritanceTest het opstartobject in op het overgenomen formulier (Form2).
Druk op F5 om de toepassing uit te voeren en bekijk het gedrag van het overgenomen formulier.
Volgende stappen
Overname voor gebruikersbesturingselementen werkt op ongeveer dezelfde manier. Open een nieuw klassebibliotheekproject en voeg een gebruikersbeheer toe. Plaats daar besturingselementen voor samenstellen en compileer het project. Open een ander nieuw klassebibliotheekproject en voeg een verwijzing toe naar de gecompileerde klassebibliotheek. Voeg ook een geërfd controle-element toe (via het dialoogvenster Nieuwe items toevoegen) aan het project en gebruik de Inheritantie kiezer. Voeg een gebruikersbeheer toe en wijzig de instructie Inherits (: in Visual C#). Zie Procedure: Windows Forms overnemenvoor meer informatie.
Zie ook
- Hoe Windows Forms te erven
- voor visuele overname van Windows Forms
- Windows Forms
.NET Desktop feedback