Diego, estaría bueno que aportes detalles de como lo resolviste.
Saludos, Pablo
---- Original Message ----
From: Diego Spinedi
To: [email protected]
Sent: Mie, Dic 10, 2014, 9:44 AM
Subject: [puntonet] Consulta
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 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])
[mailto:[email protected] (mailto:[email protected])] En nombre de
Diego Spinedi
Enviado el: martes, 09 de diciembre de 2014 07:50
Para: [email protected] (mailto:[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 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 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 X_OnKeyPress(KeyPressEventArgs e)
{
base.X_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])
[mailto:[email protected] (mailto:[email protected])] On Behalf Of
Diego Spinedi
Sent: Friday, December 05, 2014 2:28 PM
To: [email protected] (mailto:[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 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 (http://www.iav-tech.com)
Cel.: 011-1566721644
---- Original Message ----
From: Diego Spinedi
To: [email protected] (mailto:[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 escribió:
Diego,
¿Estas en entorno web o winforms?
2014-12-05 9:33 GMT-03:00 Diego Spinedi :
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 (http://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