wie BackColor eines Buttons einen Wert zuweisen?
-
Hallo Leute,
u.a. Code wirft den Fehler:Fehler 1 Einer Eigenschaft oder einem Indexer "System.Drawing.Color.R" kann nichts zugewiesen werden -- sie sind schreibgeschützt. D:\Dokumente\Visual_C#\Projects\Viele_Tests\Viele_Tests\Form1.cs 34 13 Viele_Tests
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace Viele_Tests { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btn_ok_MouseHover(object sender, EventArgs e) { byte r = btn_ok.BackColor.R; byte g = btn_ok.BackColor.G; byte b = btn_ok.BackColor.B; if (r < 255) r++; else r = 0; if (g < 255) g++; else g = 0; if (b < 255) b++; else b = 0; btn_ok.BackColor.R = r; btn_ok.BackColor.G = g; btn_ok.BackColor.B = b; } } }
Warum kann ich der Hintergrundfarbe eines Buttons keine anderen Wert zuweisen?
Ich erhalte diesen Fehler für alle drei R G B Werte!
Wer weiss, was hier falsch ist?
Danke!
Gruß,
Micha
-
hi
mach doch einfach
btn_ok.BackColor = Color.FromArgb(r, g, b);
das müsste das Problem lösen^^
-
Hallo de_Bert ,
das löst das Problem leider nicht!
Wenn ich mit meiner Maus ein paar mal über den Button gefahren bin, dann haben sich die Werte wirklich geändert! Aber die Farbe ändert sich nicht.
Und wenn ich dann in die Entwurfsansicht des Forms gehe und da mir die BackColor-Eigenschaft des Buttons ansehe, dann sind da immer noch die Originalwerte enthalten, die ich mal zu Beginn hier eingetragen habe!
-
Also bei mir funzt der Code einwandfrei. Das einzige was halt blöde ist, das man 100 Tausend mal klicken muss bis man den Unterschied sieht.
Wenn ich auch ganz ehrlich bin, sehe ich net so den Sinn in der ganze Sache
-
Hallo,
du musst in onmouseover einen Timer oder thread (der dann mit einem Timer arbeitet) starten. Und in der Timerfunktion den button dunkler machen.
Und beim (wie heißts?) onmouseout ?? das ganze stoppen und zurücksetzen.
-
de_Bert schrieb:
Wenn ich auch ganz ehrlich bin, sehe ich net so den Sinn in der ganze Sache
Hallo de_Bert,
Ja, es gibt da auch keinen tieferen Sinn dahinter! Ist nur 'ne Spielerei. Ich finde es immer gut, wenn man mal ein paar visuelle Erfolgserlebnisse hat, wenn man sich mit einer unbekannten Sprache beschäftigt.
Gruß,
Micha