Buttons

katy

Grünschnabel
Code:
void MainFormLoad(object sender, EventArgs e)
		{	
		List<Button> _buttons = new List<Button>();
		Button [] buttons = new Button[4];
		for (int i = 0; i < buttons.Length; i++)
		{
		Button button = new Button();
		button.Size = new Size(50,50);
		button.Location = new System.Drawing.Point(i * 70);
		button.Top = i+50;
buttons[i]= button;
		button.Click+= new EventHandler(btn_click);
			
			Controls.Add(button);
		}
	} 
			
		void btn_click(object sender, EventArgs e)
		{
		button.BackColor = farben[generator.Next(farben.Length)];
		
		}

was mache ich hier falsche? ich wil, dass bei den 4 Buttons, die ich mit dem array erstellt habe, bei jedem klick auf einen dieser buttons, meine farben erscheinen. ich glaube bei button.BackColor müsste der Fehler liegen
 
Die Variable "button" ist in der Methode "btn_click" nicht definiert.
Ich nehme an du willst die Hintergrundfarbe des Buttons ändern, der das Event auslöst? Dazu kannst du das "sender"-Objekt in einen Button casten:
C#:
((Button)sender).BackColor = farben[generator.Next(farben.Length)];
 
Ich bedanke mich. doch wenn ich nun auf einen der Buttons aus dieser Reihe drücke passiert trotzdem nichts. Es müsste ja bei jedem click eine neue farbe kommen, doch der button ändert seine Farbe nicht :( ich finde einfach nicht heraus was mir fehlt
 
Hallo,

wird denn der Event aufgerufen? Setze doch mal einen Breakpoint in die btn_click - Methode und laasse den Debugger laufen.

Gruß
MCoder
 

Neue Beiträge

Zurück