// Ação quando o botão TrocaSinal é pressionado internal void ActionTrocaSinal() { if (!VerificaSeVazio()) { Txt.Text = (Convert.ToDouble(Txt.Text.Trim().Replace(".", ",")) * (-1)).ToString().Replace(",", "."); } Pnl.Focus(); }
// Limpa todos os campos private void LimparCampos() { _NumeroUm = 0; _NumeroDois = 0; Txt.Text = string.Empty; _Operacao = string.Empty; _PressionouIgual = false; Pnl.Focus(); }
// Ação qundo o botão . é pressionado internal void ActionPonto() { string antesOperacao = LimpaAposOperacao(Txt.Text.Trim()); string depoisOperacao = RemoveOperacaoTxt(Txt.Text.Trim()); CondicaoAplicaZero(antesOperacao, depoisOperacao); Pnl.Focus(); }
// Insere o valor internal void InserirValor(string valor) { if (VerificaSeIgualPressionado()) { _PressionouIgual = false; } Txt.Text += valor; Pnl.Focus(); }
// Ação quando o botão Raiz é pressionado internal void ActionRaiz() { if (!VerificaSeVazio()) { double ValorBase = Convert.ToDouble(Txt.Text.Trim().Replace(".", ".")); double Resultado = Math.Sqrt(ValorBase); Txt.Text = Resultado.ToString().Replace(",", "."); _PressionouIgual = true; } Pnl.Focus(); }
// Ação quando o botão ElevadoQuadrado é pressionado internal void ActionElevaQuadrado() { if (!VerificaSeVazio()) { double ValorBase = Convert.ToDouble(Txt.Text.Trim().Replace(".", ".")); double Resultado = CalcularPotencia(ValorBase, 2); Txt.Text = Resultado.ToString().Replace(",", "."); _PressionouIgual = true; } Pnl.Focus(); }
// Ação quando o botão LimpaUltimo é pressionado internal void ActionRemoveUltimo() { string Texto = Txt.Text.Trim(); int tamanho = Texto.Trim().Length; LimparTxtResultado(); for (int i = 0; i < tamanho - 1; i++) { Txt.Text += Texto[i]; } Pnl.Focus(); }
// Ação quando o botão <-- é pressionado internal void ActionLimpaUltimoValor() { if (_Operacao.Equals(string.Empty) || VerificaSeIgualPressionado()) { LimparCampos(); } else { Txt.Text = LimpaAposOperacao(Txt.Text); } Pnl.Focus(); }
// Ação quando o botão 1x é pressionado internal void Action1x() { if (!VerificaSeVazio()) { double ValorBase = Convert.ToDouble(Txt.Text.Trim().Replace(".", ".")); if (ValorBase == 0) { MessageBox.Show("Erro divisão por zero", "Calculadora", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } double Resultado = 1 / ValorBase; Txt.Text = Resultado.ToString().Replace(",", "."); _PressionouIgual = true; } Pnl.Focus(); }
// Adiciona a operação internal void AdicionarOperacao(string operacao) { if (!VerificaSeVazio()) { if (VerificaSeTemPonto()) { _NumeroUm = Convert.ToDouble(Txt.Text.Trim().Replace(".", ",")); } else { _NumeroUm = Convert.ToDouble(Txt.Text.Trim()); } _Operacao = operacao; Txt.Text += _Operacao; } else { MessageBox.Show("Precisar ser inserido algum valor", "Calculadora", MessageBoxButtons.OK, MessageBoxIcon.Information); } Pnl.Focus(); }
// Ação quando o botão igual é pressionado internal void ActionIgual() { if (VerificaSeIgualPressionado()) { LimparTxtResultado(); _PressionouIgual = false; return; } if (!VerificaSeVazio()) { if (VerificaSeTemPonto()) { _NumeroDois = Convert.ToDouble(RemoveOperacaoTxt(Txt.Text.Trim().ToString().Replace(".", ","))); } else { _NumeroDois = Convert.ToDouble(RemoveOperacaoTxt(Txt.Text.Trim().ToString().Replace(".", ","))); } CalcularResultado(_Operacao); _PressionouIgual = true; } Pnl.Focus(); }
// Calcula o Resultado internal void CalcularResultado(string operacao) { switch (operacao) { case "/": if (_NumeroDois == 0) { MessageBox.Show("Não é permitido divisão por 0", "Calculadora", MessageBoxButtons.OK, MessageBoxIcon.Error); break; } else { _Resultado = _NumeroUm / _NumeroDois; } break; case "*": _Resultado = _NumeroUm * _NumeroDois; break; case "-": _Resultado = _NumeroUm - _NumeroDois; break; case "+": _Resultado = _NumeroUm + _NumeroDois; break; case "^": _Resultado = CalcularPotencia(_NumeroUm, _NumeroDois); break; } LimparTxtResultado(); Txt.Text = _Resultado.ToString().Replace(",", "."); Pnl.Focus(); }
// Limpa o TxtResultado private void LimparTxtResultado() { Txt.Clear(); Pnl.Focus(); }