Skocz do zawartości

Pulsujący tekst w LABEL - czy jest do zrobienia?


Masterjam

Rekomendowane odpowiedzi

Opublikowano

Witam

 

Ponownie pytam , bo mam pewien pomysł na aplikację. Czy jest możliwe aby po dojściu progressbara do 100%, pojawił się jakiś napis np: DONE ale w innym kolorze i aby pulsował. Kiedyś znalazłem filmik ale mi umknął i na youtube nie mogę znaleźć.

Pzdr

Zarejestruj się za darmo i zacznij zarabiać online!

  • Darmowe poradniki pokazujące krok po kroku jak zarabiać w Internecie
  • Sposoby zarabiania niepublikowane nigdzie indziej
  • Aktywna społeczność, która pomoże Ci rozwiązać problemy i doradzi
  • Profesjonalne treści na temat e-commerceSEO, social media, afiliacji, kryptowalut, sztucznej inteligencji, freelancingu i wiele więcej!
  • Bezpośredni dostęp do Get Paid 2.0 w ramach jednego konta na make-cash.pl!
Opublikowano

Pulsujący? Czyli znikający i pojawiający się, ewentualnie zwiększający swój rozmiar? No to dajesz pętle i i w niej zmianę rozmiaru tekstu i koloru. Byłby problem z użytecznością programu, ponieważ taki kod normalnie w świecie zablokuje GUI, więc poczytaj też o watkach i da się coś takiego zrobić. Jeżeli potrzebujesz tego tylko na potrzeby filmiku to w net frameworku 4.5 pojawiła się ciekawy operator await, to może nawet szybciej załapiesz niż wątki.

Opublikowano

Więc dołączasz bibliotekę System.Threading i potem robisz sobie pętle w niej cos w stylu:

label1.visible = FalseThread.Sleep(50) - czas na jaki program się zatrzyma 1000 = 1slabel1.visiable = True

Mniej więcej tak to ma wyglądać, przepraszam ale nie interesuje się visual basic, więc nie pamiętam dokładnie jak wygląda składnia.

Opublikowano

Będę bardzo wdzięczny za pomoc . Na razie poszedłem na łatwiznę i zrobiłem zwykły label który jest ukryty i dopiero przy 100% się pojawia sam duży napis, ale cienko to wygląda :)

Opublikowano (edytowane)
   Dim x As Integer        ProgressBar1.Value = 1        Delay(1)        ProgressBar1.Value = 35        Delay(1)        ProgressBar1.Value = 70        Delay(1)        ProgressBar1.Value = 98        Delay(1)        ProgressBar1.Value = 100        Do Until x = 50            x = x + 1            Label1.ForeColor = Color.Green            Delay(1)            Label1.ForeColor = Color.Red            Delay(1)            Label1.ForeColor = Color.Aqua            Delay(1)            Label1.ForeColor = Color.Beige            Delay(1)            Label1.ForeColor = Color.Khaki            Delay(1)            Label1.ForeColor = Color.Teal        Loop    End Sub

Na forme wrzucasz 1 label , progressbar i button. Kod wyżej wrzucasz pod button.

 

Ten kod dodajesz do nowego modułu , Project -> Add Clas -> Wybierasz "Module" , kasujesz zawartość i wrzucasz to:

Module Wait_Function    Sub Delay(ByVal dblSecs As Double)        Const OneSec As Double = 1.0# / (1440.0# * 60.0#)        Dim dblWaitTil As Date        Now.AddSeconds(OneSec)        dblWaitTil = Now.AddSeconds(OneSec).AddSeconds(dblSecs)        Do Until Now > dblWaitTil            Application.DoEvents() ' Allow windows messages to be processed        Loop    End SubEnd Module

Sprawdź sobie jak program działa , Delay(1) to odczekanie 1 sekundy przed kolejną linią.

 

 

 

Będę bardzo wdzięczny za pomoc . Na razie poszedłem na łatwiznę i zrobiłem zwykły label który jest ukryty i dopiero przy 100% się pojawia sam duży napis, ale cienko to wygląda  :)

 
Edytowane przez Szmigol

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Tylko zalogowani użytkownicy mogą dodawać komentarze.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się

spacer.png

Mentoring Get Paid 2.0

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Ta strona korzysta z ciasteczek, aby świadczyć usługi na najwyższym poziomie. Dalsze korzystanie z witryny oznacza zgodę na ich wykorzystanie. Polityka prywatności .