I written a class named MoneyTextBox
that inherits TextBox
.
Everything is OK but where I'm trying to bind data to the Text
property of my MoneyTextBox
.
In the form which I used to bind data to its controls, even reading data is OK! I mean when the data from bindingSource bound to the form, everything working correctly. But when I'm trying to Update
the tableAdapter, null value went to the database!
Here is MoneyTextBox
class:
class MoneyTextBox : TextBox
{
public override string Text
{
set
{
base.Text = value;
}
get
{
return skipComma(base.Text);
}
}
public string skipComma(string str)
{
string strnew = "";
if (str == "")
{
strnew = "0";
}
else
{
strnew = str.Replace(",", String.Empty);
}
return strnew;
}
protected override void OnTextChanged(EventArgs e)
{
if (base.Text == "")
{
this.Text = "0";
}
else
{
if (this.Text != "")
{
double d;
if (!Double.TryParse(this.Text, out d))
{
this.Text = null;
return;
}
if (d == 0)
{
this.Text = "0";
}
else
this.Text = d.ToString("#,#", System.Globalization.CultureInfo.InvariantCulture);
}
}
this.Select(this.TextLength, 0);
}
protected override void OnKeyPress(KeyPressEventArgs e)
{
if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8)
{
e.Handled = true;
}
base.OnKeyPress(e);
}
protected override void OnKeyDown(KeyEventArgs e)
{
if (e.Control & e.KeyCode == Keys.A)
this.SelectAll();
base.OnKeyDown(e);
}
}
Any idea? If it's necessary to more explain, tell me guys. Thanks in advance...