Hallo,
ich stehe vor einem Rätsel!
folgender Code ist gegeben:
Ich zeichne auf die Picturebox einen wachsenden Kreis. Wenn er fertig gezeichnet ist, wird ein Screenshot in der Zwischenablage erstellt, dieser der Picturebox als BackgroundImage zugewiesen und der nächste Kreis gezeichnet. Ziel ist es, den Bildschirm mit Kreisen zu füllen.
Das funktioniert auch fast perfekt, außer daß immer zwei verschiedene Hintergrundbilder im Wechsel aktiv werden. Es scheint so, als ob in der Zwischenablage zwei Datensätze existieren, welche im Wechsel abgerufen werden. Ich möchte aber immer das gleiche Hintergrundbild.
Ich hoffe, ich habe mein Problem verständlich dargelegt und Jemand kann mir sagen, wo der (mein?) Fehler liegt. Wer den Code testet: Abbruch mit ESC.
Grüße
Zerberus
ich stehe vor einem Rätsel!
folgender Code ist gegeben:
Quellcode
- Public Class Form1
- Public Zaehler1 As Integer
- Public StartpunktX As Integer
- Public StartpunktY As Integer
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Clipboard.Clear()
- Timer1.Interval = 50
- Timer1.Enabled = True
- StartpunktX = CInt(Int(Me.Size.Width * Rnd()))
- StartpunktY = CInt(Int(Me.Size.Height * Rnd()))
- Zaehler1 = 1
- PictureBox1.Height = Me.Height
- PictureBox1.Width = Me.Width
- End Sub
- Private Sub PictureBox1_Paint(sender As Object, e As PaintEventArgs) Handles PictureBox1.Paint
- Dim Radius As Integer = 50
- Zaehler1 = Zaehler1 + 1
- If Zaehler1 < Radius Then
- e.Graphics.FillEllipse(Brushes.Orange, StartpunktX + Radius - Zaehler1, StartpunktY + Radius - Zaehler1, 2 * Zaehler1, 2 * Zaehler1)
- Else
- e.Graphics.FillEllipse(Brushes.Orange, StartpunktX + Radius - Zaehler1, StartpunktY + Radius - Zaehler1, 2 * Zaehler1, 2 * Zaehler1)
- SendKeys.Send("{PRTSC}")
- PictureBox1.BackgroundImage = Clipboard.GetImage
- Randomize()
- StartpunktX = CInt(Int((Me.Size.Width * Rnd())))
- StartpunktY = CInt(Int((Me.Size.Height * Rnd())))
- Zaehler1 = 1
- End If
- End Sub
- Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
- PictureBox1.Refresh()
- End Sub
- Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
- If e.KeyCode = Keys.Escape Then
- Application.Exit()
- End If
- End Sub
- End Class
Ich zeichne auf die Picturebox einen wachsenden Kreis. Wenn er fertig gezeichnet ist, wird ein Screenshot in der Zwischenablage erstellt, dieser der Picturebox als BackgroundImage zugewiesen und der nächste Kreis gezeichnet. Ziel ist es, den Bildschirm mit Kreisen zu füllen.
Das funktioniert auch fast perfekt, außer daß immer zwei verschiedene Hintergrundbilder im Wechsel aktiv werden. Es scheint so, als ob in der Zwischenablage zwei Datensätze existieren, welche im Wechsel abgerufen werden. Ich möchte aber immer das gleiche Hintergrundbild.
Ich hoffe, ich habe mein Problem verständlich dargelegt und Jemand kann mir sagen, wo der (mein?) Fehler liegt. Wer den Code testet: Abbruch mit ESC.
Grüße
Zerberus