C# Textfeld in button ausgeben?

...komplette Frage anzeigen

4 Antworten

Das wäre so richtig hässlich aber was mir als allererstes in den Sinn kommt, wären mehrere ifs, wo du überprüfst, ob die eigegebene Zahl minus 128 grösser oder gleich 0 ist. Falls das so ist rechnet er das und überprüst dann den Rest bei den restlichen for. Aber wie gesagt ist das die hässliche Methode.

Antwort bewerten Vielen Dank für Deine Bewertung

Hallo,

Du hast uns gesagt, dass du mit der Programmiersprache C# arbeitest. Du möchtest jedoch etwas zu einem GUI-Element (dem Button) wissen. Deshalb ist es wichtig für uns zu wissen, mit welchem GUI-Framework du arbeitest.

Du wirst wahrscheinlich eine Desktopanwendung mit Visual Studio entwickeln und hast daher für C# die Wahlmöglichkeit Windows-Forms und WPF.

Falls du nicht weißt, welche du davon hast, schau mal auf den Screenshot. Welchen Projekttyp hast du beim Anlegen deines Projektes gewählt?

 - (Informatik, C Sharp)
Antwort bewerten Vielen Dank für Deine Bewertung

Leg dir die Buttons dynamisch an!

Speichere sie in ein Array. --> Button[] buttons;

Wenn du jetzt eine Zahl eingibst, dann durchgehst du folgende Schleife und hast damit jeden Button, der in der Bitfolge eine 1 hat:

int wert = textArea.Text; //36 //string to int nicht vergessen! Ich lass das mal zu anschauungszwecken weg ^^
for(int i=0 ; i<8 ; i++)
if(wert%2 == 0)
{
// hier sind jetzt deine einzelnen Buttons, dessen Bit=1 ist
//ändere jetzt hier die Farbe mit
buttons[i].BackColor = Color.Black;
}
wert/=2; // Bitverschiebung RECHTS

sollte funkzen.....ich würde es so machen!

Antwort bewerten Vielen Dank für Deine Bewertung

Hallo!

Das gehjt zu den Ursprüngen der Programmierung zurück -- deine Zahlenfolge beschreibt genau ein Byte (8 Bit).

Also 0 0 0 0 0 0 0 0 --> alle Buttons sind gelb  (das Bit ganz rechts ist die 1, entspricht dem Button 1, Bit ganz links, entspricht dem Button 128)

du gibst 36 ein, wandle es in eine Zahl um, dann in ein Byte

du hast jetzt 0 0 1 0 0 1 0 0

--> dort wo die 1en sind, wechselst du die Farbe des Buttons

Gruß

Antwort bewerten Vielen Dank für Deine Bewertung
1986danny1986 15.03.2016, 19:58

Ja das soll so gegen nur weiß ich nicht wie ich das eingeben kann

0

Was möchtest Du wissen?