VBiB/ACCB.net - Visual Basic in België | .net Ineta User Group  
(login to hide)
Hoofdmenu

Advertenties

Het Computer Winkeltje HCW


Evenementen

Tips en tricks
U bevindt zich > Tips en Tricks > Taal-onafhankelijk > Software > Databasebeheer > User Controls
Ik wil een tip ingeven

Tip: User Controls
Hypenate - 21 Jun 2008 - 10:46

Het maken en gebruiken van User Controls. Een User Control kan je zien als een 'group' van standaard controls. Wanneer je een groep controls meerdere keren nodig hebt, is het aangeraden een User Control te maken.

Start een nieuw project. In de zogenaamde 'Solution Explorer' (standaard aan de rechter kant) rechtsmuisknop op de naam van je project > Add > New Item.

Toevoegen van een user control

Uit het dialoog dat tevoorschijnt komt kies je: User Control

Je krijgt nu een nieuw venster met daarin je eigenlijke User Control. Momenteel is dit simpelweg...een grijs vak.
Gemakshalve ga ik aan de User Control één knop toevoegen, zodat het principe duidelijk word van een deze handige functie.

Je ziet dat er nog rond de knop veel 'grijs' is. Het is aangeraden dat je het grijs zo veel mogelijk beperkt. Omdat als je de User Control op een form gaat plaatsen, gaat het lastig worden om nog een propere layout te behouden.
Ik heb nu het grijze vlak, de eigenlijke basis van de User Control ongeveer evengroot als mijn knop gemaakt. Als je meer controls hebt, maak je het grijze vlak, natuurlijk even groot zodat alle controls er opgaan.

Dubbel klik nu op de knop zodat je in de code ziet.
Het nadeel aan een User Control is dat je achteraf niet meer kunt aanspreken dan dat je hebt aangegeven. Dit wordt zodra duidelijk.

Code
  1. public class vbibUserControl public event btnVbib_Click_UserControl() public event btnVbib_MouseEnter_UserControl() private sub btnVbib_Click(byval sender as System.object, byval e as System.EventArgs) handles btnVbib.Click raiseevent btnVbib_Click_UserControl() end sub private sub btnVbib_MouseEnter(byval sender as object, byval e as System.EventArgs) handles btnVbib.MouseEnter raiseevent btnVbib_MouseEnter_UserControl() end sub end class

Bovenaan declareer ik twee zogenaamde Events. Namelijk btnVbib_Click_UserControl() en btnVbib_MouseEnter_UserControl().
Het beste is dat hier logische namen aan geeft! Ik had ze ook evengoed "Klik" en "MuisOver" kunnen noemen. Maar als je meer controls gaat krijgen, ga je misschien niet meer weten voor welke control noch welk Event word aangeroepen. Dus ik pak de oorspronkelijke naam en zet er gewoon _UserControl() achter. Zodat ik het mezelf makkelijk maak en deze snel kan terug vinden.

Je mag de 2 vensters (Code en Designer) indien deze nog openstaan van de User Control opslaan en sluiten.
In ons 'gewoon' formulier is er nog niets veranderd, ook in onze ToolBox staan geen nieuwe items. Eer dat we de User Control kunnen toevoegen, zullen we ons project moeten 'Rebuilden'.
Dit doe je door bovaan op: Build > Rebuild Solution te klikken.

Als je nu gaat kijken in je ToolBox staat er een nieuwe item. Een tandwiel met daarachter de naam van je User Control.
Voeg deze nu toe aan het formulier door te dubbelklikken op het item of door het te slepen naar het formulier.

Indien je dubbelklikt op de knop nu, zal je zien dat je deze niet rechtstreeks kunt aanspreken!
Om dit te doen moet in je 'Code-View' linksboven je User Control uit de lijst selecteren en dan rechts boven moet je het event kiezen dat je in je User Control hebt gedeclareerd.
Met name: btnVbib_Click_UserControl() en btnVbib_MouseEnter_UserControl(). (Dit bedoel ik dus dat je maar beperkt ben met het aantal Events, wij hebben er 2 aangemaakt, en meer kan je dus ook niet aanspreken!).
NB: Om eigenschappen van de knop of een andere control te wijzigen, typ je eerste de naam van je User Control en dan '.NaamVanControl'

En voor de rest kan je gewoon programmeren zoals normaal.

Groetjes,
Hypenate



Download broncode van vbib.be

3039 x gelezen

Commentaar
U dient ingelogd te zijn om commentaar te posten.
 

Er zijn in totaal 102 tips gepost.

 

 
Postnuke - ADODB Database - PHP 4/5 - pnPhpBB2 - Hosting bij Openminds
Met dank aan Jürgen voor de jarenlange inzet van visualbasic.be (anno 21-12-2000)
vbib.be gestart op 1/03/06 (extra vanaf 1/09: vbnet.be en vbdotnet.be)
VBiB is gerelateerd met wintips.be

Nieuwsbrief RSS Feed: backend.php