Skapa användarkontrollkomponenter i VB.NET

En användarkontroll är precis som Visual Basic-kontrollerna som TextBox eller Button, men du kan göra din egen kontroll med vad du vill med din egen kod. Tänk på dem som "buntar" av standardkontroller med anpassade metoder och egenskaper.

När du har en grupp kontroller som du sannolikt kommer att använda på mer än ett ställe, överväg en användarkontroll. Observera att du också kan skapa webbanvändarkontroller men de är inte samma sak som webben beställnings- kontroller; den här artikeln täcker bara skapandet av användarkontroller för Windows.

Mer detaljerat är en användarkontroll en klass VB.NET. Klassen ärver från ramverket Usercontrol klass. De Usercontrol klass ger din kontroll de basfunktioner den behöver så att den kan behandlas som de inbyggda kontrollerna. En användarkontroll har också ett visuellt gränssnitt, ungefär som en VB.NET-form som du designar i VB.NET.

Fyra funktionsräknarkontroll

För att visa en användarkontroll ska vi skapa vår egen fyra funktionskalkylatorstyrning (så ser det ut) som du kan dra och släppa rätt till ett formulär i ditt projekt. Om du har en ekonomisk applikation där det skulle vara praktiskt att ha en anpassad kalkylator tillgänglig kan du lägga till din egen kod till den här och använda den precis som en verktygslådskontroll i dina projekt.

Med din egen räknemaskontroll kan du lägga till nycklar som automatiskt matar in en företagsstandard som en avkastningskrav eller lägger till företagets logotyp i räknemaskinen.

Skapa en användarkontroll

Det första steget i att skapa en användarkontroll är att programmera en standard Windows-applikation som gör vad du behöver. Även om det finns några extra steg är det fortfarande enklare att programmera din kontroll först som en standard Windows-applikation än som en användarkontroll, eftersom det är lättare att felsöka.

När din applikation har fungerat kan du kopiera koden till en klass för användarkontroll och bygga användarkontrollen som en DLL-fil. Dessa grundläggande steg är desamma i alla versioner eftersom den underliggande tekniken är densamma, men den exakta proceduren är lite annorlunda mellan VB.NET-versioner.

Använda olika VB.NET-versioner

Du har ett litet problem om du har VB.NET 1.X Standard Edition. Användarkontroller måste skapas som DLL för att kunna användas i andra projekt och den här versionen skapar inte DLL-bibliotek "ut ur rutan." Det är mycket mer besvär, men du kan använda de tekniker som beskrivs i den här artikeln för att lära dig hur man kan komma runt problemet.

Skapa en ny med de mer avancerade versionerna Windows Kontrollbibliotek. Följ denna länk för att se VB.NET 1.X-dialogrutan.

Klicka på VB-huvudmenyn Projekt, sedan Lägg till användarkontroll. Detta ger dig en formmiljö som är nästan identisk med den du använder för att bygga standard Windows-applikationer.

  • Lägg till komponenter och kod för din kontroll och anpassa de egenskaper du behöver. Du kan kopiera och klistra in från din felsökta standard-Windows-app. Faktum är att koden för CalcPad-kontrollen (mer om detta nedan) kopierades utan förändringar.
  • Bygg din lösning för att få DLL-filen för din kontroll. Kom ihåg att ändra Konfiguration för att släppa före Bygg för produktionsanvändning.
  • För att flytta kontrollen till Verktygslåda, högerklicka på Verktygslåda och välj Lägg till / ta bort objekt ...
  • Använda .NET Framework Components fliken, bläddra till DLL för din komponent (antagligen i bin mappen för Windows Kontrollbibliotek lösning). Klick Öppen när DLL-filen är vald för att flytta kontrollen till Verktygslåda, sedan Välj OK. Se den här skärmdumpen av CalcPad i verktygslådan VB.NET 1.1.

För att kolla in ditt arbete kan du stänga Windows Kontrollbibliotek lösning och öppna en standard Windows-applikation lösning. Dra och släpp din nya CalcPad-kontroll och kör projektet. Denna illustration visar att den beter sig precis som Windows-miniräknaren, men det är en kontroll i ditt projekt.

Detta är inte allt du behöver göra för att flytta kontrollen till produktion för andra människor, men det är ett annat ämne!

Proceduren för att bygga en användarkontroll i VB.NET 2005 är nästan identisk med 1.X. Den största skillnaden är att istället för att högerklicka på Verktygslåda och välja Lägg till / ta bort objekt, kontrollen läggs till genom att välja Välj verktygslådan från Verktyg meny; resten av processen är densamma.

Här är samma komponent (faktiskt konverterad direkt från VB.NET 1.1 med hjälp av konverteringsguiden Visual Studio) som körs i ett formulär i VB.NET 2005.