Visual Basic: Button schriftfarbe ändern?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Meine Jüte GRUNDLAGEN LERNEN!!!!

Es gibt verschiedene IF aufbauten! (So nenn ichs jetzt mal salop)

if irgendwas = irgendwas Then
       'tu irgendwas
elseif irgendwas = irgendwas2 then
       'tu was anderes
elseif irgendwas = irgendwas3 then
       'tu was ganz anderes
end if

übertragen auf den Farbwechsel kommt folgendes raus:

    If Button1.ForeColor = Color.Black Then
        Button1.ForeColor = Color.Red
    ElseIf Button1.ForeColor = Color.Red Then
        Button1.ForeColor = Color.Green
    ElseIf Button1.ForeColor = Color.Green Then
        Button1.ForeColor = Color.Black
    End If

Wichtig ist das am schluss immer wieder auf den Anfangswert bzw Farbe gesetzt wird.

Wenn dir das weiter geholfen hat würde ich mich über ein Hilfreich Auszeichnung freuen!

Tip am rande: Such mal bei Google nach Visual Basic 2008 / 2010 Open Books und Arbeite die Grundlagen durch!

Veier 
Fragesteller
 23.04.2013, 19:42

Deine Antwort funktioniert perfekt, vielen Dank. Kriegst das Sternchen Morgen auf jeden Fall ;D Entschuldigung für meine Unwissenheit, aber ich versuche mir die Grundlagen im Internet oder durch Fragen zusammenzusammeln. Das hat bis jetzt, ja auch sehr gut geklappt.

0
wejherowo112  23.04.2013, 20:22
@Veier

Ja Trotzdem solltest du dir die Open Books mal durchlesen denn nicht jeder reagiert auf solche Grundlagen Fragen!

0
Veier 
Fragesteller
 23.04.2013, 20:28
@wejherowo112

Ok, ich gucke sie mir mal Morgen an, danke für deine Hilfe :D

0

Du willst doch nicht jedesmal den Code komplett umbauen.

Wie wäre es hiermit:

  Private C(5) As Color

  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    C(0) = Color.Black
    C(1) = Color.Red
    C(2) = Color.DarkGreen
    C(3) = Color.Yellow
    C(4) = Color.Blue
    C(5) = Color.DarkGoldenrod
    Timer1.Interval = 500
  End Sub

  Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    Static ix As Short = 0
    Button1.ForeColor = C(ix)

    ix = ix + 1
    If ix = C.Length Then ix = 0
  End Sub

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Timer1.Enabled = Not Timer1.Enabled
  End Sub

Als erstes musst du in deine Form einen Timer einsetzten diesen stellst du in den eigenschaften bei Interval auf 1000 (für 1sek). Dann setzt du den Button rein und stellst in den Eigenschaften dessen Schriftfarbe auf Black.

Nun doppelklick auf den Timer

füge dort folgenden Code ein:

If Button1.ForeColor = Color.Black Then
        Button1.ForeColor = Color.Red
    Else
        Button1.ForeColor = Color.Black
    End If

Im Form_Load ereignis solltest du den Timer auch starten mit: Timer1.Start() oder du haust das in den Button mit rein!

hättest du aber die Grundlagen gelernt und vernünftig Gegooglet dann hättest du auch einiges gefunden!

Veier 
Fragesteller
 23.04.2013, 19:27

Das ist schonmal seh gut, Danke ;D Nur wenn ich Nochmehr Farben hinzufügen will, dann springt er nur zur letzten Farbe, die ich hinzugefügt habe.

0