Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Blokujący się program "dyskoteka".


Rekomendowane odpowiedzi

Opublikowano

Witam.

Mam problem.

Muszę zrobić program który po wciśnięciu przycisku będzie migał bez końca różnymi kolorami.

Napisałem kod, lecz program zamiast wyświetlać kolejne kolory, to się blokuje.

35585c3ef4c57.jpg

 

To jest mój obecny kod:

 

 

Private Sub CommandButton1_Click()

CommandButton1.Enabled = False

Dim wartosc As Integer

1

wartosc = Int((15 * Rnd) + 1)

Image1.BackColor = QBColor(wartosc)

GoTo 1

End Sub

 

 

Próbowałem opóźnić pętlę instrukcją "sleep". Stosowałem również inne sposoby zapętlenia. Niestety nic nie pomaga.

Pomóżcie. To dla mnie bardzo ważne.

Opublikowano

Tutaj masz nastepujacy kod Wklej go dopiero po zmianie we wlasciwosciach "backcolor" na "black"

Public Sub Timer1 ...

If PictureBox1.BackColor = color.black then

PictureBox1.BackColor = color.pink

ElseIf PictureBox1.BackColor = color.pink then

PictureBox1.BackColor = color.orange

ElseIf PictureBox1.BackColor = color.orange then

PictureBox1.BackColor = color.green

ElseIf PictureBox1.BackColor = color.green then

PictureBox1.BackColor = color.yellow

ElseIf PictureBox1.BackColor = color.yellow then

PictureBox1.BackColor = color.Red

ElseIf PictureBox1.BackColor = color.Red then

PictureBox1.BackColor = color.Blue

ElseIf PictureBox1.BackColor = color.Blue then

PictureBox1.BackColor = color.Black Dziekuje Pozdrawiam -- tomaS

Opublikowano

Wielkie dzięki ale czy nie ma możliwości żeby kolory zmieniały się w sposób losowy?

Zapomniałem dodać że pracuję na VB 10.

 

A odnośnie tego kodu... Całość trzeba wstawić pod Private Sub CommandButton1_Click()?

Gość Pan Szymek
Opublikowano

Public Class Form1

Dim kolTrd As Threading.Thread
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If Button1.Text.Equals("Start") Then
kolTrd = New Threading.Thread(New Threading.ThreadStart(AddressOf KolorThread))
kolTrd.IsBackground = True
kolTrd.Start()
Button1.Text = "Stop"
Else
kolTrd.Abort()
Button1.Text = "Start"
End If
End Sub
Function KolorThread()
While True
setPBColor(PictureBox1, Color.FromArgb(255, rand, rand, rand))
Threading.Thread.Sleep(1000)
End While
End Function
Delegate Function __setPBColor(ByVal pb As PictureBox, ByVal kolor As Color)
Function _setPBColor(ByVal pb As PictureBox, ByVal kolor As Color)
pb.BackColor = kolor
End Function
Function setPBColor(ByVal pb As PictureBox, ByVal kolor As Color)
If (pb.InvokeRequired) Then
pb.Invoke(New __setPBColor(AddressOf _setPBColor), pb, kolor)
Else
_setPBColor(pb, kolor)
End If
End Function
Dim random As New Random()
Function rand()
Return Random.Next(1, 255)
End Function
'kod by Miszczu
End Class

Odpowiednie nazwy podmień na te z Twojego okna.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...