C# Buttons

Dabei seit
Mai 2010
Beiträge
4
Hallo,
kann man auch einen Button mehrmals belegen? Also Beim 1. mal klicken steht z.B. Frei, beim 2. mal steht z.B. Belegt, beim 3. mal steht z.B. Suboptimal und beim 4. mal steht z.B. ohne Funktion
Geht das?
 

ICH_BIN_LETZTER

Lt. Junior Grade
Dabei seit
Aug. 2007
Beiträge
490
hi,
ja klar geht das du musst das in deinem klick-eventhandler steuern... (z.b. zählvariablen)

gruß
 

HansDampf38

Lt. Junior Grade
Dabei seit
Jan. 2008
Beiträge
381
Naja, sofort mehrfach belegen, so wie mit einem "Doppelklick" geht meines erachtens nicht, da das Event ja bereits beim 1.Klick ausgelöst wird.

Du könntest höchstens die Sache "faken":

Klick

--> Event onclick

--> counter hochzählen lassen

--> 1 --> Frei
--> 2 --> Belegt
--> 3 --> usw.

mal ganz einfach ausgedrückt.

Wäre zumindest mein Ansatz

Gruß

HD
 

ICH_BIN_LETZTER

Lt. Junior Grade
Dabei seit
Aug. 2007
Beiträge
490
Code:
private int counter = 0;
	
		
void Button1Click(object sender, EventArgs e)
{
	switch(counter){
		case 0:
			counter++;
			button1.Text = "0 mal geklickt";
			break;
		case 1:
			counter++;
			button1.Text = "1 mal geklickt";
			break;
		case 2:
			counter++;
			button1.Text = "2 mal geklickt";
			break;
		case 3:
			counter++;
			button1.Text = "3 mal geklickt";
			break;
	}
}
 

HansDampf38

Lt. Junior Grade
Dabei seit
Jan. 2008
Beiträge
381
Fast genauso hab ich es auch gerade geschreiben, musste mir nur C# neu installieren, deswegen war er schneller ;)

Aber eins hab ich anders, ich zähle den Counter außerhalb der Switch-Anweisung hoch.

Gruß

HD
 

florianschrenk

Newbie
Ersteller dieses Themas
Dabei seit
Mai 2010
Beiträge
4
hmm der meckert trotzdem rum
private void r101_Click(object sender, EventArgs e)
{private int counter = 0;


void Button1Click(object sender, EventArgs e)
{
switch(counter){
case 0:
counter++;
button1.Text = "Frei";
break;
case 1:
counter++;
button1.Text = "Belegt";
break;
case 2:
counter++;
button1.Text = "steht suboptimal";
break;
case 3:
counter++;
button1.Text = "derzeit o.F.";
break;
}
}
}
}
Ergänzung ()

der meckert rum
Code:
        private void r101_Click(object sender, EventArgs e)
        {private int counter = 0;
	
		
void Button1Click(object sender, EventArgs e)
{
	switch(counter){
		case 0:
			counter++;
			button1.Text = "Frei";
			break;
		case 1:
			counter++;
			button1.Text = "Belegt";
			break;
		case 2:
			counter++;
			button1.Text = "steht suboptimal";
			break;
		case 3:
			counter++;
			button1.Text = "derzeit o.F.";
			break;
    }
        }
    }
}
Fehler 1 } erwartet.
 

ICH_BIN_LETZTER

Lt. Junior Grade
Dabei seit
Aug. 2007
Beiträge
490
das was ich dir da gepostet habe ist die handler methode... da musst du nicht nochmal alles reinkopieren.
Code:
private int counter = 0; //steht irgendwo außerhalb der Methode im Variablendeklarationsbereich

private void r101_Click(object sender, EventArgs e)
{
         switch(counter){
		case 0:
			counter++;
			button1.Text = "Frei";
			break;
		case 1:
			counter++;
			button1.Text = "Belegt";
			break;
		case 2:
			counter++;
			button1.Text = "steht suboptimal";
			break;
		case 3:
			counter++;
			button1.Text = "derzeit o.F.";
			break;
        }
}
probiere das mal ;)


Aber eins hab ich anders, ich zähle den Counter außerhalb der Switch-Anweisung hoch.
Stimmt hab ich auf die schnelle nicht darauf geachtet, ist natürlich eleganter ;)
 
Zuletzt bearbeitet:

toeffi

Lt. Junior Grade
Dabei seit
Feb. 2010
Beiträge
474
Sehr gut und der Threadsteller hat daraus was gelernt? Wenn er hier nach Code bettelt weil er ein Newbie ist(was kein Argument ist) bekommt er den auch. Nächstes mal mehr Eigeninitiative @florianschrenk. Sonst wird das nichts wenn du dir Code überall her holst und nicht selber versuchst ;)
 

ICH_BIN_LETZTER

Lt. Junior Grade
Dabei seit
Aug. 2007
Beiträge
490
jap da muss ich dir rechtgeben. auch wenn ich den code gepostet habe (der mit sicherheit noch verbesserungsbedürftig ist, weiß ich nicht ob das prinzip verstanden wurde.
 

HansDampf38

Lt. Junior Grade
Dabei seit
Jan. 2008
Beiträge
381
Sorry, also das geht so garnichts.

@toeffi
Du hast nichts zum Problem geschrieben und beschwerst dich, das er Quellcode direkt bekommt. Falls du es noch nicht wissen solltest, das hier ist ein Forum und nicht die Schule. Wenn du also Lehrer spielen willst, solltest du woanders suchen.

Hier kann jeder seine Frage stellen und JEDEM ist es selbst überlassen was und wie er antwortet, solange es zum Thema gehört und nicht gegen Forenregeln verstößt. Und wenn jemand will das man in einem Quellcode zusammen schreibt und es ein anderer macht... Bitte schön, Danke schön.

Versteh mich nicht falsch, ich bin natürlich auch dran interessiert, dass der Fragesteller ein Quellcode auch nachvollziehen kann und daraus was lernt... aber es zu verlangen ? Nein, dann sollte man garnicht erst Antworten.

Zumal ICH_BIN_LETZTER den Quellcode so verständlich und ordentlich geschrieben hat, das man daraus durch aus lernen kann, wie eine Swicht funktioniert.

Fazit:
Deine Antwort war wesentlich unsinnger und überflüssig als die von ICH_BIN_LETZTER oder wie sie 5 Minuten später von mir gegekommen wäre.

Gruß

HD
 

toeffi

Lt. Junior Grade
Dabei seit
Feb. 2010
Beiträge
474
Naja die Definition von Lernen scheinst du anders zu definieren als ich, und wenn du dir meine bisherigen Posts anschauts, würdest du auch wissen das die Qualität nicht drunter leidet wenn ich poste. Worauf ich hinaus will ist: Wenn jemand ins Forum kommt, eine Frage stellt, keine Eigeninitiative zeigt und wartet das er Code bekommt, ist das nicht das wofür ein Forum geschaffen ist. Sicherlich hast du Recht das jeder Antworten kann wie er will, nur hilft das dem Threadsteller in seiner Entwicklung wenig weiter.
Wenn du dir mal diese Forum hier anschaust:
http://www.c-plusplus.de/forum/viewforum-var-f-is-28.html wo ich auch aktiv bin, würdest du dort sogar noch krasserer Antworten bekommen wenn du ohne eigeninitiative eine Frage stellst.
Zumal die Frage auch locker mit google hätte selber beantwortet werden können.
 

petap

Ensign
Dabei seit
Juli 2008
Beiträge
245
Finde ich auch. Die Erwartungshaltung von florian ist einfach total unverschämt. Das hier ist kein Hausaufgabenportal und es sollte keine Allinclusivelösungen geben. Ich bewege mich hier in diesem Forum, weil ich Spaß daran habe, Leuten bei ihren Problemen im Bereich Programmierung zu helfen. Für mich gehört aber dazu, dass sich der Betreffende *vorher* kritisch mit der Thematik auseinander gesetzt hat und sich (z.B. mit googles Hilfe) selber bemüht hat, ein Problem zu lösen. Aber sich einfach mental hinzulegen und nur zu sagen "mach mal" geht einfach mal gar nicht.
 

HansDampf38

Lt. Junior Grade
Dabei seit
Jan. 2008
Beiträge
381
Ok, diskutieren wir das mal durch :D

@toeffi
Wie kommst du darauf das ein Forum nur dazu da ist um Lernansätze und Denkanstösse zu geben ? Gut, ich muss zugeben ich hab mir die Nub von CB nicht durch gelesen, aber ich bezweifle das dort irgendwas in der Richtung drin steht.
Ich bin auch noch in einem Programmierforum ( C# ), dort gibt es auch solche Leute die anfangen zu meckern, wenn jemand bittet "mach mal"... wo ich mich auch immer frage was das soll. Wenn sie keine Lust haben, sollen sie einfach nicht antworten und gut ist.

@toeffi und petap
Ihr habt schon gesehen, aus was der Code besteht ? Eine Switch-Anweisung und das wars... ich bezweifle dass das ein komplettes "Programm" ist, also wird er sicher hier und da schon auch Eigeninitiative gezeigt haben müssen, sonst wäre das etwas... unnütz die paar Zeilen.

@alle die gerne auf Google verweisen
Das sind die dümmsten Antworten überhaupt.
1. Lebt CB (oder welches andere Forum auch immer) von seine EIGENEN Besuchern. Die Werbung die ihr rechts sieht, bekommt man nciht bezahlt, weil man den Leuten sagt, man soll woandes hingehen
2. Da erzähle ich eine lustige Gesichte lieber:
Ich habe letztens etwas gesucht (kein Computerthema, deshalb hab ich nicht bei CB gesucht :D ) und auch Google bentutz. Gleich die 1. Antwort war der Hinweis auf ein Forum wo jemand genau die selbe Frage hatte wie ich und ich war schon froh "Supter toll, Lösung gefunden"...tja, wenn...

...Wenn dort nicht auch so ein "Schlauer" Forennutzer gewesen wäre, dessen Antwort war "man sollle doch Google benutzen, da wird man schon eine Antwort finden"... ein Teufelskreis :freak:

Mal abgesehen davon, welche Begriffe hätte er denn in Google eingeben sollen als Laie ? Sag jetzt nicht "swicht", denn davon hat er vorher vermutlich noch garnichts gehört.

Deswegen also, frei nach Mario Barth, "einfach mal die Klappe halten";)

HD
 

toeffi

Lt. Junior Grade
Dabei seit
Feb. 2010
Beiträge
474
@HansDampf: Du solltest vorsichtig mit deinen Äußerungen sein und nicht beleidigend werden(letzter Satz).

Über alles andere will ich jetzt nicht weiter diskutieren weil du einfach den Sinn eines Forums und deren Mitgliedern nicht verstanden hast. Ist mir völlig Wurst was du sagst, ich opfere meine Freizeit für Leute die Hilfe brauchen und diese Hilfe auch nur dann in Anspruch nehmen wenn sie ihren Gehirnschmalz selber schonmal angestrengt haben, und nicht für Leute die daherkommen und sagen "ich weiß nich wie gehts, könnt ihr mir helfen".Weiterhin hat das nichts mit Meckern zu tuen, sondern mit Kritisieren, das ist ein Unterschied, ersteres entsteht aus unwissen und weil man einfach schlecht drauf ist und wirklich nur pöbeln will aus Prinzip, zweites entsteht aus Fachwissen was man zur Untermalung seiner Absichten benutzt. Wir sind hier in einem Programmierforum(zumindest diese Unterforum) und da ist an der Tagesordnung das man seinen Kopf auch mal selber anstrengt, völlig egal wie minimal der eigentlich Code ist, es geht hierbei ums Prinzip.
 
Zuletzt bearbeitet:

Grantig

Captain
Dabei seit
Okt. 2008
Beiträge
3.543
@HansDampf38

Toeffi hat imo völlig Recht mit seiner Aussage.
Es bringt doch absolut nichts, dem TS einfach ein Stück fertigen Code zu geben, weil er offensichtlich keine Ahnung hat, was er da überhaupt macht. Er hat den Code von ICH_BIN_LETZTER einfach nur kopflos in seinen eigenen Code reingepflastert, das sagt doch schon alles.

Gib einem Hungernden einen Fisch, und er wird einmal satt, lehre ihn Fischen, und er wird nie wieder hungern.
Kennst du das Sprichwort?
Genauso verhält es sich hier im Programmieren (Unter)Forum auch.
Wenn du dem Fragesteller einfach fertigen Code gibst, wenn er danach schreit, dann wird er bei jedem noch so kleinen Problem ankommen und nach fertigem Code betteln.
Wenn du ihm dagegen keinen fertigen Code gibst, sondern ihm erklärst wies funktioniert (oder darauf hinweist wo man nachlesen kann wies funktioniert), dann wird er quasi zur Eigeninitiative gezwungen und wird (hoffentlich) merken, dass er dadurch viel schneller ans Ziel kommt.

Wegen Google:
In diesem Thread hat niemand auf Google verwiesen!
Und manchmal ist es eben angebracht, auf Google zu verweisen, weil einige Themen einfach schon zig mal durchgekaut wurden und weitere Threads zum gleichen Thema blos das Forum zumüllen und evtl. wichtigere Threads deswegen untergehen.

---------

@TS

[FAQ] Wie finde ich den Einstieg in C#?
Solltest du dir vllt. mal durchlesen.
 

HansDampf38

Lt. Junior Grade
Dabei seit
Jan. 2008
Beiträge
381
@toeffi
Solltest du meine letzten Satz als Beleidigung aufgefasst haben, möchte ich mich dafür entschuldigen. Das ist ein Zitat von Mario Barth und ironisch gemeint :)

Fehler doch noch entdeckt, Schade :D

@Grantig
Ähm... hast du dir die Beiträge durchgelesen ?

Zitat petap:
"... mit der Thematik auseinander gesetzt hat und sich (z.B. mit googles Hilfe...."

Zitat toeffi:
"Zumal die Frage auch locker mit google hätte selber beantwortet werden können. "

Und klar kenn ich den Spruch, steh ich auch voll hinter. Mir geht es mehr darum, das wenn aber jemand einem lieber den Fisch reicht, damit der andere satt ist, dann ist das demjenigen selbst überlassen. :)

Zumal...wie ich schon im letzten Beitrag gesagt habe... mit dem winzigen Codeschnipsel kann er eh nicht viel machen. Wenn er mit C# mehr machen will, wird er sich so oder so mehr mit dem Thema beschäftigen und wenn ihm C# egal ist, weil er das nur jetzt einmal braucht, wird er nicht anfangen C# zu lernen, nur für das eine Problem ;-)

Denn wir reden hier von einer EINZIGEN Funktion und nicht von einem kompletten Programm. Ist ja nicht so, das wir ihm ein neues BS vorprogrammiert haben... ABER wenn wir wollten und könnten, dürften wir :D

Gruß

HD
 

Grantig

Captain
Dabei seit
Okt. 2008
Beiträge
3.543
Mit Verweise auf Google hatte ich eher an Beiträge á la "gidf....faule sau" gedacht ;)
Deine Zitate versteh ich eher als kleinen Seitenhieb auf den TS (bzw. seine mangelnde Eigeninitiative), aber was solls, das is Haarspalterei.

[...] ist das demjenigen selbst überlassen.
Seh ich auch so.
Dann sollte sich derjenige aber auch nicht beschweren, wenn er deswegen Kritik erntet, da dieses Verhalten eben die Bettelei nach fertigem Code (die hier nicht gern gesehen wird) fördert.

Denn wir reden hier von einer EINZIGEN Funktion und nicht von einem kompletten Programm.
Das problem ist, dass manche dann wirklich zig Threads aufmachen, bis sie sich den Code für ihr Programm quasi zusammengeschnorrt haben :D
 

petap

Ensign
Dabei seit
Juli 2008
Beiträge
245
Ihr habt schon gesehen, aus was der Code besteht ? Eine Switch-Anweisung und das wars...
Aber genau das ist der Punkt. Ich bin überzeugt, dass man "eine Switchanweisung" in vertretbarer Zeit selber zusammen rühren kann, wenn man ausschließlich *bestehende* Quellen nutzt. Wie gesagt: Ich investiere hier gerne Zeit. Aber ich will einfach nicht mehr Zeit investieren als derjenige, der das Problem hat. Dieses passive Konsumieren von fertigen Lösungen, überhaupt keine inhaltliche Auseinandersetzung und dieser fordernde Unterton kotzt mich total an.

Das ist doch das perfekte Beispiel. Guck dir den Quelltext mal an. So doof, dass er nicht sieht, dass da viel mehr schließende Klammern als öffnende Klammern sind, *kann* er doch nicht sein. Fazit: Zu faul. Der Compiler sagt doch ganz explizit, wo an welcher Stelle was falsch ist (wenn es um so Sachen wie Klammern geht). Wer die Fehler da nicht selber findet, der hat einfach keine Hilfe verdient!
 
Top