TextBox para Valores

<< Click to Display Table of Contents >>

Navigation:  Mobile >

TextBox para Valores

Previous pageReturn to chapter overviewNext page

Coloque um TextBox comum e programe:

 

        private void Inicializa()

        {

            TextBoxValor.Text = "0,00";

        }

 

        private void InserirCaracter(string caracter)

        {

            if (TextBoxValor.SelectionLength == TextBoxValor.TextLength)

                TextBoxValor.Text = String.Empty;

 

            int p = TextBoxValor.SelectionStart;

            TextBoxValor.Text = TextBoxValor.Text.Insert(p, caracter);

            TextBoxValor.SelectionStart = p + 1;

        }

 

        private void TextBoxValor_KeyPress(object sender, KeyPressEventArgs e)

        {

            if (e.KeyChar == ',' && TextBoxValor.Text.IndexOf(',') > -1)

            {

                e.Handled = true;

                return;

            }

 

            #region apenas para celular samsung com teclado          

            switch (Char.ToUpper(e.KeyChar))

            {

                case '.': InserirCaracter("0");

                    break;         

                case 'E': InserirCaracter("1");

                    break;

                case 'R': InserirCaracter("2");

                    break;

                case 'T': InserirCaracter("3");

                    break;

                case 'D': InserirCaracter("4");

                    break;

                case 'F': InserirCaracter("5");

                    break;

                case 'G': InserirCaracter("6");

                    break;

                case 'X': InserirCaracter("7");

                    break;

                case 'C': InserirCaracter("8");

                    break;

                case 'V': InserirCaracter("9");

                    break;

            }

            #endregion

 

            e.Handled = (!char.IsNumber(e.KeyChar) & (Keys)e.KeyChar != Keys.Back & e.KeyChar != ',');

 

            // pressionou botão grande? faz algo

            if ((Keys)e.KeyChar == Keys.Enter)

            {

                //MenuGravar_Click(sender, new EventArgs());

            }        

        }

 

        private void TextBoxValor_GotFocus(object sender, EventArgs e)

        {

            TextBoxValor.SelectAll();

        }

 

        private void TextBoxValor_LostFocus(object sender, EventArgs e)

        {

            try

            {

                double valor = Double.Parse(TextBoxValor.Text);

                TextBoxValor.Text = valor.ToString("#,##0.00");

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

        }