Dela via


Hur man demonstrerar visuellt arv

Med visuellt arv kan du se kontrollerna i basformuläret och lägga till nya kontroller. I den här genomgången skapar du ett basformulär och kompilerar det till ett klassbibliotek. Du importerar det här klassbiblioteket till ett annat projekt och skapar ett nytt formulär som ärver från basformuläret. Under den här genomgången får du lära dig att:

  • Skapa ett klassbiblioteksprojekt som innehåller ett basformulär.

  • Lägg till en knapp med egenskaper som härledda klasser i basformuläret kan ändra.

  • Lägg till en knapp som inte kan ändras av arvtagare till basformuläret.

  • Skapa ett projekt som innehåller ett formulär som ärver från BaseForm.

I slutändan visar den här genomgången skillnaden mellan privata och skyddade kontroller i ett ärvt formulär.

Försiktighet

Alla kontroller stöder inte visuellt arv från ett basformulär. Följande kontroller stöder inte det scenario som beskrivs i den här genomgången:

Dessa kontroller i det ärvda formuläret är alltid skrivskyddade oavsett vilka modifierare du använder (private, protectedeller public).

Skapa ett klassbiblioteksprojekt som innehåller ett basformulär

  1. I Visual Studio går du till menyn Arkiv och väljer Nytt>Project för att öppna dialogrutan Nytt projekt.

  2. Skapa ett Windows Forms-program med namnet BaseFormLibrary.

  3. Om du vill skapa ett klassbibliotek i stället för ett standardprogram för Windows Forms i Solution Explorerhögerklickar du på projektnoden BaseFormLibrary och väljer sedan Egenskaper.

  4. I egenskaperna för projektet ändrar du utdatatyp från Windows-program till klassbiblioteket.

  5. På menyn Arkiv väljer du Spara alla för att spara projektet och filerna på standardplatsen.

De följande två procedurerna lägger till knappar i basformuläret. För att demonstrera visuellt arv ger du knapparna olika åtkomstnivåer genom att ange deras Modifiers egenskaper.

Lägg till en knapp som arvtagare av basformuläret kan ändra

  1. Öppna Form1- i designern.

  2. På fliken Alla Windows-formulär i Toolboxdubbelklickar du på knappen för att lägga till en knapp i formuläret. Använd musen för att placera och ändra storlek på knappen.

  3. I fönstret Egenskaper anger du följande egenskaper för knappen:

    • Ange egenskapen Text till Say Hello.

    • Ange egenskapen (namn) till btnProtected.

    • Ange egenskapen Modifiers till Protected. Detta gör det möjligt för formulär som ärver från Form1 att ändra egenskaperna för btnProtected.

  4. Dubbelklicka på knappen Säg hej för att lägga till en händelsehanterare för händelsen Klicka på.

  5. Lägg till följande kodrad i händelsehanteraren:

    MessageBox.Show("Hello, World!")
    
    MessageBox.Show("Hello, World!");
    

Lägg till en knapp som inte kan ändras av arvingar till basformuläret.

  1. Växla till designvyn genom att klicka på fliken Form1.vb [Design], Form1.cs [Design] eller Form1.jsl [Design] ovanför kodredigeraren eller genom att trycka på F7.

  2. Lägg till en andra knapp och ange dess egenskaper enligt följande:

    • Ange egenskapen Text som Say Goodbye.

    • Ange egenskapen (namn) till btnPrivate.

    • Ange egenskapen Modifiers till Private. Detta gör det omöjligt för formulär som ärver från Form1 att ändra egenskaperna för btnPrivate.

  3. Dubbelklicka på knappen Säg adjö för att lägga till en händelsehanterare för händelsen Klicka på. Placera följande kodrad i händelseproceduren:

    MessageBox.Show("Goodbye!")
    
    MessageBox.Show("Goodbye!");
    
  4. På menyn Build väljer du Build BaseForm Library för att skapa klassbiblioteket.

    När biblioteket har skapats kan du skapa ett nytt projekt som ärver från formuläret som du nyss skapade.

Skapa ett projekt som innehåller ett formulär som ärver från basformuläret

  1. På menyn Arkiv väljer du Lägg till och nytt projekt för att öppna dialogrutan Lägg till nytt projekt.

  2. Skapa ett Windows Forms-program med namnet InheritanceTest.

Lägga till ett ärvt formulär

  1. I Solution Explorerhögerklickar du på projektet InheritanceTest, väljer Lägg tilloch väljer sedan Nytt objekt.

  2. I dialogrutan Lägg till nytt objekt väljer du kategorin Windows Forms (om du har en lista med kategorier) och väljer sedan mallen Ärvt formulär.

  3. Lämna standardnamnet för Form2 och klicka sedan på Lägg till.

  4. I dialogrutan Arvsväljaren väljer du Form1 från projektet BaseFormLibrary som formuläret du vill ärva från och klickar på OK.

    Då skapas ett formulär i projektet InheritanceTest som härleds från formuläret i BaseFormLibrary.

  5. Öppna det ärvda formuläret (Form2) i designern genom att dubbelklicka på det om det inte redan är öppet.

    I designern har de ärvda knapparna en symbol (Skärmbild av Visual Basic-arvssymbolen.) i det övre hörnet som anger att de ärvs.

  6. Välj knappen Säg Hej och observera storlekshandtagen. Eftersom den här knappen är skyddad kan arvtagarna flytta den, ändra storlek på den, ändra dess undertext och göra andra ändringar.

  7. Välj den privata knappen Säg adjö och observera att den inte har storlekshandtag. I fönstret Egenskaper är dessutom egenskaperna för den här knappen nedtonade för att indikera att de inte kan ändras.

  8. Om du använder Visual C#:

    1. I Solution Explorerhögerklickar du på Form1 i projektet InheritanceTest och väljer sedan Ta bort. I meddelanderutan som visas klickar du på OK för att bekräfta borttagningen.

    2. Öppna filen Program.cs och ändra raden Application.Run(new Form1()); till Application.Run(new Form2());.

  9. I Solution Explorerhögerklickar du på projektet InheritanceTest och väljer Ange som startprojekt.

  10. I Solution Explorerhögerklickar du på projektet InheritanceTest och väljer Egenskaper.

  11. På egenskapssidorna för InheritanceTest anger du Startup-objektet till det ärvda formuläret (Form2).

  12. Tryck på F5- för att köra programmet och observera beteendet för det ärvda formuläret.

Nästa steg

Arv för användarkontroller fungerar på ungefär samma sätt. Öppna ett nytt klassbiblioteksprojekt och lägg till en användarkontroll. Placera de ingående kontrollerna på den och kompilera projektet. Öppna ett annat nytt klassbiblioteksprojekt och lägg till en referens till det kompilerade klassbiblioteket. Prova också att lägga till en ärvd kontroll (via dialogrutan Lägg till nya objekt) i projektet och använda arvsväljaren . Lägg till en användarkontroll och ändra instruktionen Inherits (: i Visual C#). Mer information finns i How to: Inherit Windows Forms.

Se även