Autor Beitrag
vit30
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 38



BeitragVerfasst: Fr 22.01.10 15:19 
Hallo!
Kann ich Felder innerhalb einer Methode definieren?
Ich will ein Programmchen schreiben(Einmaleins), wo beim drücken auf ein Button(z.B."3") und danach anderes Button (z.B."5") im Textfeld das Ergebnis ("15") erscheint.
Ich habe es mir so vorgestellt: innerhalb jeder Methode (z.b."private void button3_Click") wird jeweils eine entsprechende Variable definiert (hier 3).Danach die beiden Variablen werden multipliziert und das Ergebnis im Textfeld erscheinen.
Problem: außerhalb der Methode existiert diese Variable nicht mehr.
Was kann ich machen?
Zweite Frage:
Kann ich für Methodenname eine Variable verwenden?
Z.B.: "private void buttonX_Click"; wo X eine Variable ist(1 bis 9).
Danke!
JasonDelife
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 81

Windows 7 Professional
C# (Visual Studio 2008 Professional), Java (NetBeans IDE 6.7)
BeitragVerfasst: Fr 22.01.10 15:47 
Das Stichwort lautet Klassenvariable.
Und zum buttonX: Du kannst eine Methode an mehrere Ereignisse hängen.

Grüße, JasonDelife.
vit30 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 38



BeitragVerfasst: Fr 22.01.10 15:57 
as Stichwort lautet Klassenvariable.

Ja, klar auf Klassenebene kann ich natürlich Felder definieren. Damit komme ich aber nicht weiter. Ich muss ja aus jede Methode eine Variable "rausholen"
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Fr 22.01.10 18:16 
user profile iconvit30 hat folgendes geschrieben Zum zitierten Posting springen:
Ich muss ja aus jede Methode eine Variable "rausholen"

Vielleicht willst du, dass sender ausgewertet werden kann? Das gibt den Button an, der gedrückt wurde.
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
private void buttons_Click( object sender, EventArgs e )
{
   if (sender is Button) {
      int i = int.Parse( (sender as Button).Text );
      // mach was mit i
   }
}

Aber du solltest dich mal grundsätzlich in C# einarbeiten, z.B. durch OpenBook VC#, damit du die korrekten Bezeichnungen lernst und die Fragen gezielt formulieren kannst.

Jürgen