Find Code:
All Words
Any of the Words
Exact Phrase
Home
:
Code
:
Forums
:
Submit
:
Mailing List
:
About
:
Contact
Code
All
VB.NET
ASP.NET
C#
VB Classic
ASP Classic
Snippets
Popular
Resources
Submit Code
Forums
Articles
Tips
Links
Books
Contest
Link to us
Snow Effect
Author:
Michel Renaud
E-mail:
Click to e-mail author
Submitted:
5/16/2012
Version:
VB 2010
Compatibility:
VB 2010
Category:
Graphics
Views:
10624
Snowing effect on window form.
Declarations:
'none
Code:
Public Class Form1 Dim number, x(), y(), v(), s() As Integer Dim t As Random = New Random Dim g As System.Drawing.Graphics Dim rec As Rectangle 'To do: need to load a picture Dim bmp As New Bitmap(My.Resources.WinterNight) Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.SetStyle(ControlStyles.OptimizedDoubleBuffer, True) Me.SetStyle(ControlStyles.AllPaintingInWmPaint, True) Me.UpdateStyles() snow() Timer1.Start() End Sub Private Sub snow() number = 2000 ReDim x(number - 1) ReDim y(number - 1) ReDim v(number - 1) ReDim s(number - 1) Dim i As Integer For i = 0 To number - 1 Insnow(i) Next End Sub Private Sub Insnow(ByVal i As Integer) x(i) = t.Next(0, Me.Width - 1) y(i) = t.Next(0, Me.Height * 5 / 7) v(i) = t.Next(5, 20) s(i) = (t.Next(1, 3) * 100 + t.Next(50, 200)) / 100 End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Static i As Integer For i = 0 To number - 1 y(i) = y(i) + v(i) If y(i) >= Me.Height Then Insnow(i) End If Next Invalidate() End Sub Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint g = Graphics.FromImage(bmp) g = e.Graphics g.DrawImage(bmp, rec) Dim i As Integer For i = 0 To number - 1 g.FillEllipse(Brushes.White, x(i), y(i), s(i), s(i)) Next End Sub Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize rec = New Rectangle(0, 0, Me.Width, Me.Height) End Sub End Class
Home
|
Forums
|
Submit
|
Books
|
Mailing List
|
Advertising
|
About
|
Contact
© 2024 A1VBCode. All rights reserved.
Legal disclaimer & terms of use
Privacy statement