C# Buttons

Eigentlich dachte ich ja dass das Thema erledigt ist, aber das kann ich so nicht stehen lassen.

1. Du hast nicht eine Zeile zur Lösung seines Problems dazu getan, wieso regst du dich hier so auf ?

2. Woher soll er überhaupt wissen, das er nach das Switch suchen soll, wenn er sie vorher garnicht gekannt hat ?

denn...

3. Wenn du seine Frage in Google eingbist "Button mehrfach belegen", dreimal darfst du raten was er dir als Ergebnis bereits an 4.Stelle ausspuckt... eben genau diesen Beitrag hier. Die Antworten davor beziehen sich auf VB und wenn man keine Ahnung hat, weiß man auch nicht das einem das auch schon weiterhelfen kann

4. toeffi wirft MIR vor das ich den Sinn und Zweck dieses Forum nicht verstanden habe. Wenn ich aber sehe wie IHR mit einem Neuen umgeht, ihn als "...total unverschämt..." oder "...So doof, ..." oder "...Zu faul... "

Denn wenn du dich mit Programmieren auskennst und nachfragst, was die häufigsten Fehler sind... nicht nur bei Anfängern... dann sind es genau diese, das mal eine Klammer oder Komma oder Semikolon fehlt.

Was glaubt ihr, bei solchen Reaktion von euch, wieviele Beiträge, ausser diesem hier, werden von ihm noch kommen ? Wenn, dann hättet ihr es so wie Grantig machen sollen... kritisieren/meckern.. ABER trotzdem mit einem Hilfsangebot.. seinem Link zu "Einstieg in C#".

So und da er vermutlich eh schon das Weite gesucht hat, ist das Thema hier für mich beendet, muss halt damit leben das es solche Typen in jedem Forum gibt.

Gruß

HD
 
Hmm entschuldige bitte die Frage, hast du denn auch nur eine Zeile Code zum Thema beigetragen? :p Entschuldige bitte meine Ketzerei. Aber wieso soll ich denn zum Thema noch was beitrage, oder Code demonstrieren wenn schon mehrfach die Lösung gebracht wurde? In einem Punkt geb ich dir Recht, es war vielleich unüberlegt ihn gleich ohne Hilflinks zu google abzuschmettern.
 
Ich würde es so machen:

Code:
        enum Choice
        {
            Belegt0,
            Belegt1,
            Belegt2,
            Belegt3,
        }
        private int _clicks = 0;
        private void Button1_Click(object sender, EventArgs e)
        {
            if (_clicks++ >= Enum.GetNames(typeof(Choice)).Length)
                _clicks = 0;
            Button1.Text = Enum.GetName(typeof(Choice), (Choice)_clicks);
        }

Hat meiner Meinung nach den Vorteil, das man für jeden weiteren Fall, den Enum einfach erweitern kann :)

//kalleberlin
 
also nachdem sich der te nicht wieder gemeldet hat ist der fall leider eindeutig.

@kalleberlin
jup deine lösung gefällt mir auch gut, bzweifele aber ob der te sie verstehen wird.

gruß
 
kalleberlin schrieb:
Code:
        enum Choice
        {
            Belegt0,
            Belegt1,
            Belegt2,
            Belegt3,
        }
        private int _clicks = 0;
        private void Button1_Click(object sender, EventArgs e)
        {
            if (_clicks++ >= Enum.GetNames(typeof(Choice)).Length)
                _clicks = 0;
            Button1.Text = Enum.GetName(typeof(Choice), (Choice)_clicks);
        }

Wenn sich Button1.Text aber gleich wiederholen soll, muss noch was dazu. Sonst ist Button1.Text nach Belegt3 nämlich leer =P
Code:
if (_clicks++ >= Enum.GetNames(typeof(Choice)).Length[COLOR="Red"][B]-1[/B][/COLOR])

Aber eigentlich wollte ich wissen wie genau der Button funktioniert.
Code:
 if (_clicks++ >= Enum.GetNames(typeof(Choice)).Length)
                _clicks = 0;
            Button1.Text = Enum.GetName(typeof(Choice), (Choice)_clicks);
Kapier ich nich wirklich. Was genau bringt zb. der Unterstrich von "_Clicks"?
Oder GetNames(typeof(choice)), irgendwie klingelts da bei mir nich :D

Vielleicht ist ja jemand so frei und erklärt mir das Schritt für Schritt :)


grüße loco


PS: Ich hab angefangen "Visual C# 2008" von Galileo Computing zu lesen. Schaffe es aber manchmal nicht wirklich das Gelesene zu verstehen, irgendwann schaltet sich mein Hirn einfach ab und ich fang an den Text nur noch zu überfliegen :D
 
Zuletzt bearbeitet:
Hi locomarco,

locomarco schrieb:
Wenn sich Button1.Text aber gleich wiederholen soll, muss noch was dazu. Sonst ist Button1.Text nach Belegt3 nämlich leer =P
Das war ein kleiner Denkfehler, sorry :p.
Zu meiner Verteidigung muss ich aber sagen das ich den Code ungetestet gepostet habe.:evillol:

locomarco schrieb:
Was genau bringt zb. der Unterstrich von "_Clicks"?
Ich mag es meine privaten variablen so zu schreiben ;). Naming Convention wäre hier ein Stichwort.
locomarco schrieb:
Oder GetNames(typeof(choice)), irgendwie klingelts da bei mir nich :D

Enum.GetNames(type t), Ist eine kleine hilfe Funktionen um an die Member eines Enums zu kommen, Stichwort reflection.

Das es dabei nicht sofort bei Dir klingelt, ist absolut normal! Da Du gerade erst dabei bist dich in dieses Thema einzuarbeiten, wirst Du noch viele solcher "es klingelt nicht" momente haben :D. Immer durchbeissen ;). Wenn man es kann, gibts nix besseres :cool_alt:

//kalleberlin
 
Zurück
Oben