[Beginners] Afsluitprogramma in VB.net

Gestart doorWillem11 reacties214 weergaven

12 berichten · pagina 1 van 1

Willem

Lid · Topicstarter

Berichten
11.637
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hey, in deze tutorial gaan we een klein en simpel, maar toch handig programmaatje maken.
Het wordt gescript in VB.net, dus je hebt Visual Basic 2008 of Visual Basic 2010 nodig.
Je kunt Visual Basic 2010 hier downloaden.

Om te starten open je dus het programma. Klik op File > New Project. Zorg ervoor dat Windows Forms Application is geselecteerd, en geef je programma een naam. Bijvoorbeeld AfsluitManager.

Afbeelding


Nu zal jouw project zichzelf genereren. Als alles geladen is zie je links de toolbox, je kunt daarvandaan onderdelen in je programma slepen. Onderaan zie je de Error List, hier komen errors in te staan als je iets verkeerd doet. Rechts komen alle eigenschappen van de onderdelen te staan .

Afbeelding


Om te beginnen willen we 4 buttons hebben: een button voor Afsluiten, een voor Herstarten, een voor Afmelden en een om alles wat gebeurt te annuleren. Ook kun je nog een extra button toevoegen, waardoor het programma zich verbergt maar toch doorgaat, waarmee je dus iemand voor de gek kunt houden. Mijn uiteindelijke programma ziet er zo uit, hier kun je je aan houden maar het is niet noodzakelijk.

Afbeelding


We hebben ook een TextBox nodig om het aantal seconden in te stellen waarna het programma de actie uitvoert die je hebt geselecteerd. Zoek dus de "˜Button"™ in de Toolbox en sleep 4 buttons in het programma. Zoek ook een TextBox, hiermee kunnen mensen het aantal seconden invullen waarna de actie uitgevoerd wordt. Je kunt de onderdelen die je in je programma sleept ook verslepen, en een andere vorm geven net zoals je normaal doet. Als laatste hebben we ook nog 3 "˜Timer"™ nodig. Deze timers zullen alleen de seconden aftellen. Sleep de Timers ergens op een leeg stuk van je programma, dus niet op een button. Je zult dan zoiets hebben als alles goed gaat:

Afbeelding


Nu zul je misschien denken, hoe geef ik deze buttons namen, in plaats van Button1 etc., dat is heel simpel. Zoals ik al eerder uitgelegd heb zie je aan de rechterkant van het programma het Properties scherm, ook wel Eigenschappen genoemd. Klik een keer op de button, en zoek iets wat lijkt op:

Text          Button1


Klik een keer op Button1, verwijder die tekst en zet er "˜Afsluiten"™ neer.
Doe dit ook met Button2, Button3, en Button4. Vul bij Button2 "˜Herstarten"™ in, bij Button3 "˜Afmelden"™ en bij Button4 "˜Alles annuleren"™. Deze teksten mogen natuurlijk afwijken.
Nu zal je programma er ongeveer zo uit zien:

Afbeelding


Nu hebben we dus alle onderdelen toegevoegd die noodzakelijk zijn. Later zal ik je ook nog uitleggen hoe je tekst kun toevoegen. Het volgende onderdeel is het programmeren zelf.

Om code toe te voegen aan je programma starten we door dubbel te klikken op je programma. Dus niet op een van de buttons of op de textbox, gewoon op je programma. Nu zal de code verschijnen.
Wat je in gaat typen is dit:

Button4.enabled = false


Dit betekent dat Button4, oftewel de "˜Alles annuleren"™ knop, standaard niet klikbaar is als je het programma opstart. Dit omdat er simpelweg niks te annuleren valt. Klik nu boven de code weer op Form1.vb [Design] om terug te gaan naar het design van het programma. Dubbelklik nu op de "˜Afsluiten"™ knop, er zal een nieuw stukje code verschijnen. Typ nu dit in:

Button1.enabled = false
Button2.enabled = false
Button3.enabled = false
Button4.enabled = true
Timer1.enabled = true


Dit betekent dus, dat zodra je op de "˜Afsluiten"™ knop klikt, de "˜Afsluiten"™, "˜Herstarten"™ en "˜Afmelden"™ knop onklikbaar worden en de "˜Alles annuleren"™ knop zal klikbaar worden. Je code zal er nu zo uit zien als je alles correct hebt gedaan:

Afbeelding


Dubbelklik nu op "˜Herstarten"™, en vul typ dit in:

Button1.enabled = false
Button2.enabled = false
Button3.enabled = false
Button4.enabled = true
Timer2.enabled = true


Zoals je ziet is het enige dat is veranderd het woordje Timer1; dat is veranderd naar Timer2.
Kopieer dezelfde code voor de "˜Afmelden"™ knop, en verander het woordje "˜Timer1"™ naar "˜Timer3"™.

Button4, oftewel "˜Alles afmelden"™ is anders. Deze button zal ervoor zorgen dat alle timers die lopen gestopt worden, de 3 optiebuttons weer klikbaar worden en zichzelf onklikbaar zal maken. Dat doen we zo: Dubbelklik op "˜Alles annuleren"™ en typ in:

Button1.enabled = true
Button2.enabled = true
Button3.enabled = true
Button4.enabled = false
Timer1.enabled = false
Timer2.enabled = false
Timer3.enabled = false


Dit houdt dus in dat alles wordt gereset, alsof je het programma net hebt geopend. Nu heb je zoiets:

Afbeelding


Zoals je misschien al weet kun je tussendoor ook je programma testen. Dit doe je door op F5 te drukken. Druk op F5 en test de verschillende knoppen, controleer of ze allemaal doen wat ze moeten doen en of het programma geen errors aangeeft! Druk op het stoptekentje onder de "˜Help"™ knop in de balk bovenaan je scherm wanneer je klaar bent met spelen.

Nu gaan we de timers instellen, zodat het programma ook werkelijk iets doet. Ga terug naar de designer en klik onder je applicatie op Timer1. De code ervoor zal weer verschijnen, nu typen we dit in:

TextBox1.text -= 1
If TextBox1.text = 0 Then
Timer1.stop
Shell("shutdown -s")


Wat dit betekent leg ik je ook uit. Regel 1: zodra je op bijvoorbeeld "˜Afsluiten"™ klikt zal in de textbox iedere seconde -1 worden gedaan (de timer is hiervoor nog niet correct ingesteld, komt later.) regel 2 kun je haast vertalen : als de waarde van TextBox1 0 is, dan: en regel 3 en 4 geven aan wat er gebeurt. Timer1 wordt gestopt zodat je textbox niet negatief doortelt, en regel 4 zorgt ervoor dat je computer wordt afgesloten.

Ga nu terug naar de designer, en klik op Timer2. Typ daar deze code in:

TextBox1.text -= 1
If TextBox1.text = 0 Then
Timer2.stop
Shell("shutdown -r")


Zoals je ziet zijn hier maar 2 dingen veranderd als we vergelijken met de code van Timer1. Timer1.stop is Timer2.stop geworden, en shutdown "“s is shutdown "“r geworden, wat Restart betekent. Neem voor Timer3 dezelfde code, en verander Timer2 naar Timer3 en shutdown "“r naar shutdown "“l, wat afmelden betekent.

Gefeliciteerd, je programma heeft nu alle noodzakelijke functies om te kunnen werken. Dit was maar een simpele tutorial, de extra"™s voeg ik later toe. Klik nu op File > Save All"¦ en sla de hele map ergens op, bijvoorbeeld in je documenten. Je kunt je programma zelf nu terugvinden in Afsluitmanager AfsluitmanagerindebugAfsluitmanager.exe

Extra:


Het allerlaatste wat we kunnen doen, maar niet nodig is is de interval van de timers instellen.
als je nu een keer op de timer klikt zul je rechts in het Properties scherm Interval zien staan, en daarachter staat 100. verander die 100 naar 1000, en het script zal per seconde aftellen. Je kunt de interval ook op 60000 zetten, dan werkt het per minuut.

Je kunt ook een Label toevoegen aan je programma, zoals ik heb gedaan. sleep vanuit je Toolbox een Label in je programma, zet hem op de goede plek en klik er eenmaal op. rechts in het properties scherm zoek je naar Text, en daarachter zet je neer wat het label moet weergeven.

Laat a.u.b. een mening achter
Veel plezier ermee, Willem.

Download HIER mijn programma.
Download HIERmijn source code.

Deze mogen allebei niet zonder mijn toestemming opnieuw worden geupload.
0
Berichten
1.479
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Waarvoor dient dit voor?
0
Berichten
118
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Om programmas aftesluiten ?
edit//
om een tijd in te stelle waneer je je pc afsluiten wil, of herstarten of afmelden.
0
Berichten
1.479
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ow, oke!

Ik ga het morgen is proberen.
0
Berichten
118
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
bijj mij telt die timer in de text box niet af?
0
Willem

Lid · Topicstarter

Berichten
11.637
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Heb je timers toegevoegd? en als je dubbelklikt op de timer, heb je dan dit stukje code:

Textbox1.text -= 1   <---zorgt ervoor dat de textbox afloopt
if Textbox1.text = 0 then  <--- als de tekst van textbox1 0 is, dan...
Timer1.Stop                         <----- stop de timer om niet negatief te gaan tellen.
Shell("shutdown -s")        <--- sluit windows af.


je kunt dit stukje code anders zo in je programma kopieren.
de tekens zijn voor comments, die kunnen dus geen errors geven aan je code.

//extras toegevoegd.
0
Berichten
118
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
nee bdl,
als je in de text box, de tijd in doet,
opent die meteen als de shutdown
0
Willem

Lid · Topicstarter

Berichten
11.637
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
kun je je source code kopieren en hier tussen [code} tags zetten? dan kijk ik wel wat het probleem is.
0
Berichten
118
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
ik heb willems source code gebruikt.
ik zie nu waat het probleem is.
fixed wink dankuwel, nice tut!
0
Willem

Lid · Topicstarter

Berichten
11.637
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
dankje biggrin
0
Berichten
3.037
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Nice tut! Vroeger dacht ik dat je met Shell() alleeb programmas kon openen, maar dus toch niet. thnx smile
0
Berichten
118
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Willemmm,
Heb je michien nog meer TUTS bloos
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren