|
Imports System.Drawing.Drawing2D
Public Class Form1
Inherits System.Windows.Forms.Form Vom Windows Form Designer generierter Code
Dim g As Graphics = Me.CreateGraphics
Dim R As Rectangle = New Rectangle(125, 25, 40, 110)
Dim R_1 As RectangleF = New RectangleF(130, 30, 30, 30)
Dim R_2 As RectangleF = New RectangleF(130, 65, 30, 30)
Dim R_3 As RectangleF = New RectangleF(130, 100, 30, 30)
Dim B_red As Brush = Brushes.Red
Dim B_green As Brush = Brushes.YellowGreen
Dim B_yellow As Brush = Brushes.Yellow
Dim B_darkred As Brush = Brushes.DarkRed
Dim B_darkgreen As Brush = Brushes.DarkOliveGreen
Dim B_darkyellow As Brush = Brushes.DarkGoldenrod
Dim P_black As Pen = New Pen(Color.Black, 2)
Private Sub Form1_Paint(ByVal sender As Object, _
ByVal e As System.Windows.Forms.PaintEventArgs) _
Handles MyBase.Paint
Dim myPath As New GraphicsPath
myPath.AddRectangle(R)
myPath.AddEllipse(R_1)
myPath.AddEllipse(R_2)
myPath.AddEllipse(R_3)
myPath.FillMode = FillMode.Alternate
g.DrawPath(New Pen(Color.Black, 3), myPath)
g.FillPath(Brushes.DarkGray, myPath)
g.DrawEllipse(P_black, R_1)
g.DrawEllipse(P_black, R_2)
g.DrawEllipse(P_black, R_3)
ROT()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Timer1.Enabled = Not Timer1.Enabled
Timer2.Enabled = Not Timer2.Enabled
If Timer1.Enabled Then
Button1.Text = "&Ampel ausschalten"
StatusBar1.Text = "Ampel ist eingeschaltet."
Else
Button1.Text = "&Ampel einschalten"
StatusBar1.Text = "Ampel ist ausgeschaltet."
End If
End Sub
#Region "Timer"
Private Sub Timer1_Tick(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Timer1.Tick
Static i As Int32
i += 1
If i > 4 Then
i = 1
End If
Select Case i
Case 1
ROT()
Case 2
ROTGELB()
Case 3
GRUEN()
Case 4
GELB()
End Select
End Sub
Private Sub Timer2_Tick(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Timer2.Tick
Static i As Int32
i += 1
If i > 2 Then
i = 1
End If
If i Mod 2 = 0 Then
AUS()
Else
GELB()
End If
End Sub
#End Region
#Region "Ampelzustände"
Private Sub ROT()
g.FillEllipse(B_red, R_1)
g.FillEllipse(B_darkyellow, R_2)
g.FillEllipse(B_darkgreen, R_3)
End Sub
Private Sub ROTGELB()
g.FillEllipse(B_red, R_1)
g.FillEllipse(B_yellow, R_2)
g.FillEllipse(B_darkgreen, R_3)
End Sub
Private Sub GRUEN()
g.FillEllipse(B_green, R_3)
g.FillEllipse(B_darkred, R_1)
g.FillEllipse(B_darkyellow, R_2)
End Sub
Private Sub GELB()
g.FillEllipse(B_yellow, R_2)
g.FillEllipse(B_darkred, R_1)
g.FillEllipse(B_darkgreen, R_3)
End Sub
Private Sub AUS()
g.FillEllipse(B_darkred, R_1)
g.FillEllipse(B_darkyellow, R_2)
g.FillEllipse(B_darkgreen, R_3)
End Sub
#End Region
Private Sub Button2_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button2.Click
Me.Close()
End Sub
End Class
|
|