C# textBox属性为10进制
时间: 2024-09-30 09:11:53 浏览: 7
在C#中,如果你想要创建一个TextBox控件,并限制其只能输入十进制数值,你可以使用以下步骤:
1. 初始化TextBox:
```csharp
textBoxDecimal = new TextBox();
textBoxDecimal.TextAlign = TextAlign.Right; // 右对齐以便于显示数字
textBoxDecimal.AcceptsReturn = true; // 允许用户按回车键提交输入
textBoxDecimal.Width = 50; // 设置宽度,根据需求调整
```
2. 添加验证事件来确保输入是数字:
```csharp
textBoxDecimal.TextChanged += (sender, e) =>
{
if (!decimal.TryParse(textBoxDecimal.Text, out decimal _)) // TryParse用于尝试转换文本到十进制
{
textBoxDecimal.Text = string.Empty; // 清空非法输入
MessageBox.Show("请输入十进制数字!"); // 显示错误提示
}
};
```
这段代码会在用户输入后立即检查是否能成功转换为十进制,如果不是,则清空输入并显示错误消息。
3. 添加焦点离开事件处理,再次验证输入:
```csharp
textBoxDecimal.Leave += (sender, e) =>
{
ValidateInput(textBoxDecimal.Text);
};
private void ValidateInput(string value)
{
// 同样使用TryParse进行验证
if (!decimal.TryParse(value, out _))
{
textBoxDecimal.Text = string.Empty;
MessageBox.Show("请输入十进制数字!");
}
}
```
当用户离开TextBox时,还会执行一次验证。