Dette kan helt fint være i samme click-event. Hensikten er at du erstatter den click-eventen du har fra før. Hvis du skal ha fem ulike conditions, så kan du bruke "else if".
Ut i fra den koden du har postet så kan vi se at du har opprettet en form som har 3 tekstbokser med disse navnene:
- txtNumber1
- txtNumer2 (ingen B her?)
- txtResult
Personlig så ville jeg ha lagt inn noe feilhåndtering for å hindre at programmet krasjer hvis du skriver inn noe som ikke er et tall i tekstboksene. Convert.ToDouble() vil feile hvis det havner vanlig tekst i boksene dine. Det vanligste måten å fange opp det på er å bruke en try/catch-statement. Du kan også gå over til å bruke en TryParse-metode (dette er sånn jeg pleier å gjøre det). Smak og behag.
I C# er det også vanlig å definere og assigne variabler i én statement. I koden din skriver du dette:
Kode
double numer1, numer2, results;
number1 = Convert.ToDouble(txtNumber1.Text);
number2 = Convert.ToDouble(txtNumer2.Text);
results = numer1+number2;
Hvis du vil assigne i samme statement som du definerer, så skriver du slik:
Kode
double number1 = Convert.ToDouble(txtNumber1.Text);
double number2 = Convert.ToDouble(txtNumer2.Text);
double results = numer1+number2;
Én linje kortere, og jeg synes dette formatet er lettere å lese.
Så til selve click-eventen din. Slik kan du sette det sammen:
Kode
private void btnDiv_Click(object sender, EventArgs e)
{
try
{
double a = Convert.ToDouble(txtNumber1.Text);
double b = Convert.ToDouble(txtNumer2.Text);
double c = a + b;
if (c < 0) { // Mindre enn 0
txtResult.Text = "???";
} else if(c >= 0 && c < 50) { // Fra 0 til 49
txtResult.Text = "A";
} else if(c >= 50 && c < 100) { // Fra 50 til 99
txtResult.Text = "B";
} else { // Fra 100 og oppover
txtResult.Text = "C";
}
}
catch(Exception) // Du kan også hente exception-objektet ved å skrive "Exception e" her, men siden jeg ikke bruker "e" til noe har jeg utelatt det.
{
txtResult.Text = "Error!";
return;
}
}