A bevezetőben említett kontrolt a UserControl1.cs forráskódban készítjük el. Program fordítása után ezt az új kontrolt fel is vehetjük a Toolbox-ra. Ehhez kattintson a Toolbox-on jobb egérgombbal, majd válassza a Customize Toolbox menüpontot. A megjelenő ablakban a .NET Framework Components lapon kattintson a Browse gombra, majd keresse elő az imént lefordított alkalmazás EXE-jét. Ettől kezdve a kontrol bármely Form-on alkalmazható. Használatához a TextValue property-ben válassza ki a megjelenítendő értéket.
Ez az érték TextValueEnum felsorolt típus elemei közül kerülhet ki, mely az alábbiak egyike lehet:
- CommandLine - az elindított alkalmazás parancssora
- CurrentDirectory - az aktuális könyvtár
- MachineName - számítógép neve
- OSVersion - futó operációs rendszer neve és verziószáma
- SystemDirectory - System könyvtár elérési útvonala
- TickCount - rendszer indításától eltelt idő ezredmásodpercben
- UserDomainName - tartomány neve, melybe a felhasználó bejelentkezett
- UserInteractive - igaz, ha interaktív bejelentkezés történt
- UserName - bejelentkezett felhasználó neve
- Version - .NET Framework verziószáma
- WorkingSet - az alkalmazás által lefoglalt memória terület
Ehhez a felsorolt típushoz létrehozunk tehát egy TextValue property-t, melyen keresztül beállítható, hogy milyen értéket jelenítsen meg a Label.
Public Property TextValue() As TextValueEnum
Get
Return textV
End Get
Set(ByVal Value As TextValueEnum)
Amikor a property értéke változik, akkor kell a Label Text property-jét aktualizálni. Lesznek olyan tulajdonságok, melyek folyamatosan változnak. Ahhoz, hogy ezek mindig az aktuális értéket mutassák, létrehozunk egy Timer időzítőt, mely rendszeresen frissíti a kijelzett értéket. Ezt az időzítőt első lépésként leállítjuk, majd tároljuk a property új értékét.
timer.Enabled = False
textV = Value
A beállított értéktől függően új értéket adunk a Text property-nek, melyeket az Environment osztály statikus property-jeiből veszünk.
Select Case textV
Case TextValueEnum.CommandLine
[Text] = Environment.CommandLine.ToString()
Azoknál az értékeknél, melyek folyamatosan frissülnek - mint például a rendszer indítástól eltelt idő - engedélyezzük az időzítő futását.
Case TextValueEnum.TickCount
[Text] = Environment.TickCount.ToString()
timer.Enabled = True
A kontrol konstruktorában hozzuk létre az időzítőt, mely egytized másodpercenként aktivizálja a DoElapsed függvényt.
timer = New System.Timers.Timer()
timer.Interval = 100
AddHandler timer.Elapsed, AddressOf DoElapsed
timer.Enabled = False
Amikor ez a függvény fut, akkor frissítenünk kell a Text property értékét. Ezt úgy érjük el, hogy a TextValue property értékének az aktuálisan tárolt értéket adjuk.
Private Sub DoElapsed(ByVal [source] As Object, ByVal e As ElapsedEventArgs)
TextValue = TextValue
End Sub 'DoElapsed