If Button1.BackColor = Color.LightGreen Then Button1.BackColor = Color.DarkGreen Button1.ForeColor = Color.LightGreen Else Button1.ForeColor = Color.DarkGreen Button1.BackColor = Color.LightGreen End If
Private Sub BGButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BGButton.Click If MyColorDialog.ShowDialog = Windows.Forms.DialogResult.OK Then Dim RColor As Integer = MyColorDialog.Color.R Dim GColor As Integer = MyColorDialog.Color.G Dim BColor As Integer = MyColorDialog.Color.B BGButton.BackColor = MyColorDialog.Color If RColor > 97 And RColor < 128 Then RColor = 255 If RColor > 127 And RColor < 158 Then RColor = 0 If GColor > 97 And GColor < 128 Then GColor = 255 If GColor > 127 And GColor < 158 Then GColor = 0 If BColor > 97 And BColor < 128 Then BColor = 255 If BColor > 127 And BColor < 158 Then BColor = 0 BGButton.ForeColor = Color.FromArgb(255 - RColor, 255 - GColor, 255 - BColor) BGButton.Text = "R:" & RColor.ToString & " G:" & GColor.ToString & " B:" & BColor.ToString End If End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionJe voudrais que les couleurs BackColor et ForeColor du bouton soient complémentaires
Et quid si tu as un fond RGB(128,128,128) ? ===>> gris sur gris ? ce sera lisible ?
Dim r As Integer, g As Integer, b As Integer, moy As Double r = 255 g = 90 b = 205 Label1.BackColor = RGB(r, g, b) moy = ((r + g + b) / 3) + 1 r = dudule(r, moy) g = dudule(g, moy) b = dudule(b, moy) Label1.ForeColor = RGB(r, g, b)
Private Function dudule(cl As Integer, moy As Double) As Integer If Abs(cl - moy) / moy <= 30 / 100 Then If cl <200 Then dudule 255 Else dudule = 0 End If End Function
'Déclaration des 150 couleurs complémentaires Dim Couleur(150) As Color Dim Complém(150) As Color Couleur(0) Color.Transparent : Complém(0) Color.Black Couleur(1) Color.AliceBlue : Complém(1) Color.DarkBlue Couleur(2) Color.AntiqueWhite : Complém(2) Color.Fuchsia Couleur(3) Color.Aqua : Complém(3) Color.DarkBlue '......... etc ....... Couleur(149) Color.YellowGreen : Complém(149) Color.DarkGreen 'Utilisation: For i As Integer = 0 To 149 If Button1.BackColor = Couleur(i) Then Button1.ForeColor = Complém(i) Exit For End If Next