screensaver maken

Status
Niet open voor verdere reacties.

matthijspc

Gebruiker
Lid geworden
10 nov 2012
Berichten
300
hoi,
ik wil graag een screensaver maken met visual basic, alleen weet ik niet hoe dit moet!
als iemand een handleiding of tutorial heeft (het liefst in het Nederlands) hoor ik het graag!
mvg
matthijspc
 
Bedankt, alleen krijg ik een foutmelding : name 'i' is not declared.
Weet je hoe ik dit kan oplossen?
 
Name 'i' is not declared
Dan moet ergens een "I" toegevoegd worden.
Als je op de error klikt krijg je te zien waar de error plaats vindt , probeer daar eens te zoeken waar de "i" moet staan/toegevoegd moet worden.
 
Dus voor de 'i' moet ik een 'I' zetten?
i.PNG
ook de 'I' kent ie niet
 
Laatst bewerkt:
Zet boven for

Dim i as integer

Of zet even bovenaan >> Option Strict off
 
Laatst bewerkt:
I probleem

Lekker duidelijke screenshot ook :)

Je kan toch een ebook zoeken op internet en je wat meer verdiepen in VB.NET.
Of kijk een keer op de social MSDN website van microsoft daar vind je alles wat je zoekt.



Succes!
Mocht je iets willen weten over vb.net dan hoor ik het wel!
 
hier een duidelijke screenshot en een filmpje nadat ik gedaan heb wat @TechnoMX zei!vb3.jpg
[video=youtube;erU1meVPFsM]http://www.youtube.com/watch?v=erU1meVPFsM&feature=youtu.be[/video]
let niet op het geluid! was vergeten microfoon uit te zetten!
 
Dus ik kan er van uitgaan dat het nu werkt ik zag in het filmpje geen bug-markering meer in je for-lus komen.
Laat even weten of het nu werkt want het is een beetje moeilijk op te maken uit je video.

Zet anders de code in deze forum dan kan ik ook wat verder kijken dan alleen het for gebeuren!
 
Mocht je je geroepen voelen kun je dan ook even iets voor me testen, ik heb een internet video poker programma geschreven die ik nog niet getest heb met een andere gebruiker via internet. Zie mijn website www.microloterij.nl ik heb de server aanstaan, stuur in het programma even een nickname en nep pincode dan stuurt de server 'als het goed is punten' naar je toe :)

Ben al op 4 forums geweest en niemand neemt even de moeite :)

Post dan even hier als je wilt
http://www.helpmij.nl/forum/showthread.php/767706-Poker-online-project
 
Laatst bewerkt:
hier is de code:
Public Class Form1
Dim baramount, BarWidth, X, SpacingInt As Integer
Dim rnd As New Random
Dim screenshot As Bitmap
Dim WithEvents timer1 As New Timer

Sub Reset()
X = 0
baramount = ClientSize.Width / BarWidth
Me.Invalidate()
End Sub

Function Randomcolour() As Color
Dim c As Color
c = (Color.FromArgb(225, (rnd.Next(0, 225)), (rnd.Next(0, 225)), (rnd.Next(0, 225))))
Return (c)
End Function

Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
Select Case e.KeyCode
Case Keys.Escape
Me.Close()
Case Keys.Space
If timer1.Enabled = True Then
timer1.Enabled = False
Else
timer1.Enabled = True

End If
End Select
End Sub

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.SetStyle(ControlStyles.AllPaintingInWmPaint, True)
Me.SetStyle(ControlStyles.OptimizedDoubleBuffer, True)
Dim r As Rectangle = Screen.PrimaryScreen.Bounds
screenshot = New Bitmap(r.Width, r.Height)
Dim g As Graphics = Graphics.FromImage(screenshot)
g.CopyFromScreen(r.X, r.Y, 0, 0, r.Size, CopyPixelOperation.SourceCopy)
Me.BackgroundImage = screenshot
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
Me.WindowState = FormWindowState.Maximized
Windows.Forms.Cursor.Hide()
barwidth = 50
SpacingInt = 0
Reset()
timer1.Interval = 200
timer1.Enabled = True

End Sub

Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
Dim i As Integer
For i = 1 To baramount
Dim r As New Rectangle
Try
Dim grad As New Drawing2D.LinearGradientBrush(r, (Randomcolour()), Color.Transparent, 90, True)
e.Graphics.FillRectangle((grad), r)
Catch ex As Exception
End Try
X += BarWidth + SpacingInt
Next
End Sub
End Class

ik zal je video poker programma even testen!
 
K, ik heb de code een beetje aangepast en het werkt bij mij nu

Dim baramount, BarWidth, X, SpacingInt As Integer
Dim rnd As New Random
Dim screenshot As Bitmap
Dim WithEvents timer1 As New Timer

Sub Reset()
X = 0
baramount = ClientSize.Width / BarWidth
Me.Invalidate()
End Sub

Function Randomcolour() As Color
Dim c As Color
c = (Color.FromArgb(225, (rnd.Next(0, 225)), (rnd.Next(0, 225)), (rnd.Next(0, 225))))
Return (c)
End Function

Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
Select Case e.KeyCode
Case Keys.Escape
Me.Close()
Case Keys.Space
If timer1.Enabled = True Then
timer1.Enabled = False
Else
timer1.Enabled = True

End If
End Select
End Sub

Public r As Rectangle = Screen.PrimaryScreen.Bounds
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.SetStyle(ControlStyles.AllPaintingInWmPaint, True)
Me.SetStyle(ControlStyles.OptimizedDoubleBuffer, True)
Dim r As Rectangle = Screen.PrimaryScreen.Bounds
screenshot = New Bitmap(r.Width, r.Height)
Dim g As Graphics = Graphics.FromImage(screenshot)
g.CopyFromScreen(r.X, r.Y, 0, 0, r.Size, CopyPixelOperation.SourceCopy)
Me.BackgroundImage = screenshot
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedDialog
Me.WindowState = FormWindowState.Maximized
Windows.Forms.Cursor.Hide()
barwidth = 50
SpacingInt = 0
Reset()
timer1.Interval = 200
timer1.Enabled = True

End Sub

Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
'in timer gezet
End Sub

Public f As Graphics

Private Sub timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles timer1.Tick
' Static i As Integer
' i = baramount

' Dim r As New Rectangle
Dim grad As New Drawing2D.LinearGradientBrush(r, (Randomcolour()), Color.Transparent, 90, True)
f = Me.CreateGraphics()
f.FillRectangle((grad), r)


X += BarWidth + SpacingInt
End Sub


Wat heb ik gedaan;

1 Even deze syntax veranderd zodat ik er nog in kan
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedDialog

2 Een timer routine erbij gezet die kon ik niet vinden :)

3 Er kwam geen locatie in variable r dus die heb ik buiten de sub gedeclareerd.

Hopelijk is het niet teveel afgeweken van de uitkomst die je in gedachte had :)

[video=youtube;4G1TX870zgI]http://www.youtube.com/watch?v=4G1TX870zgI[/video]
 
Laatst bewerkt:
@TechnoMX End If
End Select
End Sub

Public r As Rectangle = Screen.PrimaryScreen.Bounds Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.SetStyle(ControlStyles.AllPaintingInWmPaint, True)
waar moet die blauwe zin komen?
 


Dan ben je wellicht....

Public f As Graphics

...vergeten

Deze zet je boven Private sub timer1_Tick......


Met deze zin maak je een graphics object aan met de naam f
daarna kun je dit object gebruiken in je subroutines zoals timer1_Tick (welke elke ingestelde tijd de code uitvoert die je in die subroutine hebt gezet.)

f = Me.CreateGraphics()

betekend dat de graphics in het mainform (Form1) gaan komen.

f heeft vele graphische functies die je kunt gebruiken in dit geval gebruik je de functie fillrectangle welke een gevulde rechthoek als uitvoer geeft.

Even ter afsluiting dit nog...
Misschien is het handig dat je eens een leuk boek over vb.net leest bijvoorbeeld vb.net voor dummies of dergelijke dan leer je een beetje wat alles doet en waar het voor is, zo kun je beter een inzicht krijgen wat je kunt veranderen om tot je doel te komen. Niet iedereen is als programmeur geboren en het is best lastig uitzoeken als je op een willekeurig punt begint. Dus mijn tip zoek eens een begrijpbaar boek en verdiep je in de materie als het je interesse wekt. Snel een programma fixen gaat gewoon niet als je weinig kennis bezit.
 
Laatst bewerkt:
Bedankt het werkt!
weet je ook hoe ik het moet instellen als screensaver?
ik kan hem wel naar een .exe maken alleen dan is het geen screensaver!
[video=youtube;ep7FMkhCxJY]http://www.youtube.com/watch?v=ep7FMkhCxJY&feature=youtu.be[/video]
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan