سلام دوستان:
من درمورد ساخت یک کلاس برای تکستباکس می گشتم و با کلاس از نوع Nomeric TextBox برخوردم اما کاربرد آن را نفهمیدم .
من کدهای مربوطه را در این تاپیک قرار میدم و از شما دوستان می خوام اگر ممکن هست کمی در مورد آن توضیح دهید.
public class NumericTextBox : TextBox
{
bool allowSpace = false;
// Restricts the entry of characters to digits (including hex), the negative sign,
// the decimal point, and editing keystrokes (backspace).
protected override void OnKeyPress(KeyPressEventArgs e)
{
base.OnKeyPress(e);
NumberFormatInfo numberFormatInfo = System.Globalization.CultureInfo.CurrentCulture.Nu mberFormat;
string decimalSeparator = numberFormatInfo.NumberDecimalSeparator;
string groupSeparator = numberFormatInfo.NumberGroupSeparator;
string negativeSign = numberFormatInfo.NegativeSign;
string keyInput = e.KeyChar.ToString();
if (Char.IsDigit(e.KeyChar))
{
// Digits are OK
}
else if (keyInput.Equals(decimalSeparator) || keyInput.Equals(groupSeparator) ||
keyInput.Equals(negativeSign))
{
// Decimal separator is OK
}
else if (e.KeyChar == '\b')
{
// Backspace key is OK
}
// else if ((ModifierKeys & (Keys.Control | Keys.Alt)) != 0)
// {
// // Let the edit control handle control and alt key combinations
// }
else if (this.allowSpace && e.KeyChar == ' ')
{
}
else
{
// Swallow this invalid key and beep
e.Handled = true;
// MessageBeep();
}
}
public int IntValue
{
get
{
return Int32.Parse(this.Text);
}
}
public decimal DecimalValue
{
get
{
return Decimal.Parse(this.Text);
}
}
public bool AllowSpace
{
set
{
this.allowSpace = value;
}
get
{
return this.allowSpace;
}
}
}
Code to use this Class in the form:
// Create an instance of NumericTextBox.
NumericTextBox numericTextBox1 = new NumericTextBox();
numericTextBox1.Parent = this;
//Draw the bounds of the NumericTextBox.
numericTextBox1.Bounds = new Rectangle(5, 5, 150, 100);
Add an InputPanel component to your form for user input into the NumericTextBox. For a Smartphone application, you can specify a numeric InputMode.
با سپاس.
Voice of Silence