我想在visual studio中的Windows窗体应用程序中创建一个TextBox
,它只包含特定的数字。例如,我希望一个文本框只能包含0
和1
之间的数字。如果它的任何其他值我想要一条消息显示错误的数字。该应用程序是用C#编写的。
我见过这个例子 C# Numeric Only TextBox Control 但它是数字,我想要特定的数字。
编辑:我的错误我不够清楚。我尝试了NumericUpDown,但它并不适用于所有示例。在第二个框中我想要从20到340的值,但只有。(20,20.5,21等)之间的.5浮点,如果我使用NumericUpDown,如果用户插入22.6,单元格接受它,我不想要那。这就是为什么我问是否可以控制使用Textbox或MaskedTextBox插入的值,如果它符合条件,那么用户就可以输入框了。希望我现在很清楚。
答案 0 :(得分:2)
您应该使用NumericUpDown
。
你可以像这样使用它;
NumericUpDown control = new NumericUpDown();
control.Minimum = 0;
control.Maximum = 1;
control.DecimalPlaces = 2; // or something you want.
control.Increment = .01; // step is .01
答案 1 :(得分:0)
创建继承TextBox的用户控件并为KeyPress添加事件,如下所示
public class MyTextBox:TextBox
{
List<int> numberstobeallowed = Enumerable.Range(20, 340 - 20).ToList();
public MyTextBox()
{
this.Leave += new EventHandler(MyTextBox_Leave);
}
void MyTextBox_Leave(object sender, EventArgs e)
{
if (numberstobeallowed.Contains(Convert.ToInt32(this.Text)))
this.Text = string.Empty;
}
}
希望这会有所帮助