gpt4 book ai didi

c# - 如果 maskedtextbox 值为空,如何将其转换为 int?

转载 作者:行者123 更新时间:2023-11-30 16:23:48 24 4
gpt4 key购买 nike

我正在构建这个 C# Windows 应用程序。在某个表单上,我使用 maskedtextbox 输入最多 3 个数字,然后将其转换为 int,因为我必须使用插入查询将所有这些数据发送到数据库,但问题是这些 maskedtextboxes 在留空时会出错:

int scd_user_comm = Convert.ToInt32(maskedTextBox1.Text);

错误是:

Input string was not in a correct format.

数据库中对应的字段允许为空,所以留空一定不会报错。有人可以帮忙吗?

一个方面的问题::我可以使用文本框或蒙版文本框来确保用户只输入 0 到 100 之间的数字值吗?提前致谢。

最佳答案

你可以试试 Int32.TryParse() 方法

int scd_user_comm;
if(Int32.TryParse(maskedTextBox1.Text, out scd_user_comm) == false)
scd_user_comm = 0;

这将为您提供使用整数 var 和 maschedTextBox 所需的所有灵 active -

强制您的 maskTextBox 只接受数值集

   maskTextBox1.Mask = "999";
maskTextBox1.TextMaskFormat = MaskFormat.ExludePromptAndLiterals;

但是,这不足以确保输入的数字介于 0 和 100 之间。要获得此结果,您需要使用 Validating 事件并在输入超出限制时拒绝输入

    private void maskedTextBox1_Validating(object sender, CancelEventArgs e)
{
int num;
if (Int32.TryParse(maskedTextBox1.Text, out num) == true)
{
if (num < 0 || num > 100)
{
MessageBox.Show("Insert number between 0 and 100");
e.Cancel = true;
}
}
}

关于c# - 如果 maskedtextbox 值为空,如何将其转换为 int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11244235/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com