No, debido a que tenia muchas textbox no cambie por la función de Marcelo.
La probe en un poryecto aparte y me funciono, pero antes de cambiar todos
los textbox que tenia, utilice la cultura de la aplicación y aparentemente
funcionó. Obviamente tengo formateos y demás en los textbox...
¿¿Fui claro??

Saludos

Diego

El 9 de diciembre de 2014, 16:36, Cristian <[email protected]>
escribió:

> Diego, perdoname la re-pregunta, no entiendo cómo lo solucionaste, ¿fue
> utilizando el NumericTextbox que extiende de Textbox que aportó Marcelo más
> tu configuración de Cutlure?
>
>
>
> Gracias,
>
>
>
> Cristian.
>
>
>
> *De:* [email protected] [mailto:[email protected]] *En nombre de *Diego
> Spinedi
> *Enviado el:* martes, 09 de diciembre de 2014 07:50
> *Para:* [email protected]
> *Asunto:* [puntonet] Consulta
>
>
>
> Listeros: buenos dias. Queria agradecer los aportes que me han realizado
> para poder solucionar el problema. Finalmente (creo) haberlo resuelto con
> la clase System.Globalization definiendo la cultura de mi aplicación. Me
> dió bastante trabajo pero creo que funcionaron todos los casos...de todas
> maneras mi usuario será quien me de la última palabra,....
>
> Gracias a todos!!!
>
> Saludos
>
> Diego
>
>
>
> El 5 de diciembre de 2014, 15:00, Diego Spinedi <[email protected]>
> escribió:
>
> Muy amable Marcelo! gracias !
>
> Lo voy a probar y luego te aviso como me fue!
>
>
>
> El 5 de diciembre de 2014, 14:43, Marcelo Abosch <
> [email protected]> escribió:
>
> Hace mucho hice esta clase fijate si te sirve
>
>
>
>
>
>
>
> using System;
>
> using System.Collections.Generic;
>
> using System.Linq;
>
> using System.Text;
>
> using System.Windows.Forms;
>
> using System.Globalization;
>
>
>
> namespace App
>
> {
>
>     public class NumericTextBox : TextBox
>
>     {
>
>         bool allowSpace = false;
>
>
>
>         public NumericTextBox()
>
>         {
>
>             this.TextAlign = HorizontalAlignment.Right;
>
>         }
>
>
>
>         protected override void OnLeave(EventArgs e)
>
>         {
>
>             base.OnLeave(e);
>
>             if (!string.IsNullOrWhiteSpace(this.Text))
>
>             {
>
>                 this.Text = decimal.Parse(this.Text).ToString("0.00");
>
>             }
>
>         }
>
>
>
>         protected override void OnTextChanged(EventArgs e)
>
>         {
>
>
>
>             NumberFormatInfo numberFormatInfo = System.Globalization.
> CultureInfo.CurrentCulture.NumberFormat;
>
>             string decimalSeparator =
> numberFormatInfo.NumberDecimalSeparator;
>
>             if (this.Text.IndexOf(decimalSeparator) > -1)
>
>             {
>
>                 var decimals = this.Text.Substring(this
> .Text.IndexOf(decimalSeparator)+1);
>
>                 if (decimals.Length > 2)
>
>                 {
>
>
>
>                     this.Text = this.Text.Substring(0, this.Text.Length -
> 1);
>
>                     this.SelectionStart = this.Text.Length;
>
>                     this.SelectionLength = 0;
>
>                 }
>
>             }
>
>             base.OnTextChanged(e);
>
>
>
>
>
>         }
>
>
>
>
>
>         protected override void OnKeyPress(KeyPressEventArgs e)
>
>         {
>
>             base.OnKeyPress(e);
>
>
>
>             NumberFormatInfo numberFormatInfo = System.Globalization.
> CultureInfo.CurrentCulture.NumberFormat;
>
>             string decimalSeparator =
> numberFormatInfo.NumberDecimalSeparator;
>
>             string groupSeparator = numberFormatInfo.NumberGroupSeparator;
>
>             string negativeSign = numberFormatInfo.NegativeSign;
>
>
>
>             string keyInput = e.KeyChar.ToString();
>
>
>
>             if (Char.IsDigit(e.KeyChar))
>
>             {
>
>                 // Digitos  OK
>
>             }
>
>             else if (keyInput.Equals(decimalSeparator))
>
>             {
>
>                 // Decimal separator  OK
>
>             }
>
>             else if (e.KeyChar == '\b')
>
>             {
>
>                  // Backspace  OK
>
>             }
>
>             else if (this.allowSpace && e.KeyChar == ' ')
>
>             {
>
>
>
>             }
>
>             else
>
>             {
>
>                 e.Handled = true;
>
>             }
>
>         }
>
>
>
>         public int IntValue
>
>         {
>
>             get
>
>             {
>
>                 return Int32.Parse(this.Text);
>
>             }
>
>         }
>
>
>
>         public decimal DecimalValue
>
>         {
>
>             get
>
>             {
>
>                 if (string.IsNullOrWhiteSpace(this.Text))
>
>                 {
>
>                     return Decimal.Parse("0");
>
>                 }
>
>                 else
>
>                 {
>
>                     return Decimal.Parse(this.Text);
>
>                 }
>
>             }
>
>         }
>
>
>
>         public bool AllowSpace
>
>         {
>
>             set
>
>             {
>
>                 this.allowSpace = value;
>
>             }
>
>
>
>             get
>
>             {
>
>                 return this.allowSpace;
>
>             }
>
>         }
>
>     }
>
> }
>
>
>
>
>
>
>
> *From:* [email protected] [mailto:[email protected]] *On Behalf Of *Diego
> Spinedi
> *Sent:* Friday, December 05, 2014 2:28 PM
> *To:* [email protected]
> *Subject:* [puntonet] Consulta
>
>
>
> Excatamente lo que acabas de definir. Deberia ser un textbox que acepte
> decimales, las teclas de  cursor+borrado+suprimir+enter+punto  y que
> convierta el punto  en coma.
>
>
>
> El 5 de diciembre de 2014, 14:21, Pablo Marzullo <[email protected]>
> escribió:
>
> Hola Diego, pasa mas detalles... el control sobre el que queres validar es
> un Textbox? que queres que valide? que solo tome números, acepte las teclas
> del cursor+borrado+suprimir+enter+punto (y que cuando presionas coma lo
> convierta a punto o la inversa) es eso??
>
>
>
> Saludos, Pablo
>
>
>
> *IAV Tech*
>
> Mendoza 246, (1838) Luis Guillon, Bs As, Argentina
>
> www.iav-tech.com
>
> Cel.: 011-1566721644
>
>
>
> ---- Original Message ----
> *From*: Diego Spinedi <[email protected]>
> *To*: [email protected]
> *Sent*: Vie, Dic 5, 2014, 2:15 PM
> *Subject*: [puntonet] Consulta
>
> Estoy desarrollando en winforms..
>
> Gracias!!!
>
>
>
> El 5 de diciembre de 2014, 9:40, Leandro Halfon <[email protected]>
> escribió:
>
> Diego,
>
>
>
> ¿Estas en entorno web o winforms?
>
>
>
> 2014-12-05 9:33 GMT-03:00 Diego Spinedi <[email protected]>:
>
> Listeros: Estoy armando una aplicación de facturación y me encuentro con
> el inconveniente de que no encuentro un control adecuado para los importes.
> Lo termine haciendo con los text...pero alguien tiene alguna recomendación
> sobre algun control que no me genere dolores de cabeza con los formatos y
> validaciones????
>
>
>
> Gracias!!!
>
>
>
> --
>
> Diego Spinedi
>
>
>
>
>
>
>
> --
>
> Diego Spinedi
>
>
>
>
>
> --
>
> Diego Spinedi
>
>
>
>
>
> --
>
> Diego Spinedi
>
>
>
>
>
> --
>
> Diego Spinedi
> ------------------------------
>
> Se certificó que el correo no contiene virus.
> Comprobada por AVG - www.avg.es
> Versión: 2015.0.5577 / Base de datos de virus: 4235/8701 - Fecha de la
> versión: 08/12/2014
>



-- 
Diego Spinedi

Responder a