PDA

View Full Version : [C#] Calcolatrice: problema


Napalm
31-10-2004, 14:49
Sono agli inizi di C# e stò provando a progettare una piccola calcolatrice x winzzoz. Ho creato 10 bottoni x i numeri richiamandoli così:
this.button3.Click+=new EventHandler(num1);

la num1 (num 2 num3 ecc...) è fatta così:


public void num1 (object sender,EventArgs e)
{
string cica=1.ToString();
cico = String.Concat(cico,cica);
this.textBox1.Text=cico;
}


il problema è che mi sono creato 1 funzione x ogni numero, io vorrei chiamare un ipotetica num() con un argomento (il numero) in modo da farne 1 sola ma il problema è che il EventHandler non me l opermette di fare, c'è un modo x farlo?

BapalM

anx721
01-11-2004, 10:29
Premetto che non conosco c#, ma se ho capito quello che vuoi fare è associare come handler di tutti i pulsanti un'unica funzione

num(int x)

il cui paramentro x rappresenta il numere del bottone premuto.

Una funzione (o metodo) handler deve avere come argomenti

object sender, EventArgs e

quindi non può avere un sembplice numero x. Tuttavia l'informazione che cerchi è gia inclusa negli argomenti, ovvvero nell'argomento sender, che rappresenta il pulsante che ha generato l'evento. Quindi puoi fare una serie di if a cascata:


public void num (object sender,EventArgs e)
int num;
if(sender == pulsanteZero){
num = 0;
}
if(sender == pulsanteUno){
num = 1;
}

//ecc ecc ecc
}

se pulsanteZero, pulsanteUno sono i pulsanti della calcolatrice.

Napalm
01-11-2004, 21:14
Grazie mille dell'aiuto :)

NapalM