nader.golab
پنج شنبه 29 بهمن 1394, 19:54 عصر
سلام.
این کنترل که textbox هستش و برای اینکه سه رقم سه رقم جدا کند اعداد رو نوشته شده.ولی یک اشکالی که داره اینکه رویداد TextChenge کار نمی کنه و تو این کداش یه چیزی کم داره که من نمی دونم.اگه میشه برام تصحیح کنین و یادم بدین.ممنون
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace _dll
{
class CurrencyTextbox : TextBox
{
bool discreteNumeric = true;
public string MyText
{
get
{
if (discreteNumeric)
return base.Text.Replace(",", "");
else
return base.Text;
}
set
{
base.Text = value;
}
}
protected override void OnTextChanged(EventArgs e)
{
if (discreteNumeric)
{
string strText = this.MyText;
for (int i = strText.Length - 3; i > 0; i = i - 3)
{
strText = strText.Insert(i, ",");
}
this.SelectionStart = strText.Length + 1;
this.MyText = strText;
}
}
public bool DiscreteNumeric
{
get
{
return discreteNumeric;
}
set
{
discreteNumeric = value;
}
}
protected override void OnKeyPress(KeyPressEventArgs e)
{
if (!((int)e.KeyChar >= 48 && (int)e.KeyChar <= 57) && e.KeyChar != 8)
e.KeyChar = char.MinValue;
}
}
}
این کنترل که textbox هستش و برای اینکه سه رقم سه رقم جدا کند اعداد رو نوشته شده.ولی یک اشکالی که داره اینکه رویداد TextChenge کار نمی کنه و تو این کداش یه چیزی کم داره که من نمی دونم.اگه میشه برام تصحیح کنین و یادم بدین.ممنون
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace _dll
{
class CurrencyTextbox : TextBox
{
bool discreteNumeric = true;
public string MyText
{
get
{
if (discreteNumeric)
return base.Text.Replace(",", "");
else
return base.Text;
}
set
{
base.Text = value;
}
}
protected override void OnTextChanged(EventArgs e)
{
if (discreteNumeric)
{
string strText = this.MyText;
for (int i = strText.Length - 3; i > 0; i = i - 3)
{
strText = strText.Insert(i, ",");
}
this.SelectionStart = strText.Length + 1;
this.MyText = strText;
}
}
public bool DiscreteNumeric
{
get
{
return discreteNumeric;
}
set
{
discreteNumeric = value;
}
}
protected override void OnKeyPress(KeyPressEventArgs e)
{
if (!((int)e.KeyChar >= 48 && (int)e.KeyChar <= 57) && e.KeyChar != 8)
e.KeyChar = char.MinValue;
}
}
}