View Single Post
Limited edition
Moff's Avatar
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;
  }
}