winforms C#中用于标记错误的文本框

b09cbbtk  于 2022-11-17  发布在  C#
关注(0)|答案(2)|浏览(151)

我正在用C#构建一个WinForm,完全不知道我在做什么。我已经做到了这一点,这一节正在工作,但在文本框中输入数字,然后删除它们以更改它们后,我得到了一个“输入字符串格式不正确”错误。我非常肯定这是因为它返回到了空白状态,并且尝试在其中放入If语句,但由于Int,它一直出现错误或者字符串类型。我如何处理这个问题,我确信这不是最简单或最好的方法,但这就是我如何让这个工作到目前为止。谢谢,

private void txt_RP7_TextChanged(object sender, EventArgs e)
    {
        int rw = Convert.ToInt32(txt_WeightRemain.Text);
        int ld = Convert.ToInt32(txt_LayerD.Text);
        int pl = rw * ld / 100;
        int rp = Convert.ToInt32(txt_RP7.Text);
        int rwr = pl * rp / 100;

        string rwrs = rwr.ToString();

        lbl_RW7.Text = rwrs ;
    }
svmlkihl

svmlkihl1#

在处理可能是无效条目的用户输入时,请使用TryParse。

if (int.TryParse(txt_WeightRemain.Text, out var rw))
{
    // valid int
}
else
{
    // does not represent an int
}
acruukt9

acruukt92#

尽量不要使用Convert。请尝试使用

int.TryParse(txt_WeightRemain.text, out int rw)
int _rw = rw

为什么?因为如果文本框是空的,它会给予你0,而不是null或空字符串。
当使用convert且值为空时,将给予此类错误。
并且试着让你的代码更安全,以避免被零除的错误。这是基本的数学。
抱歉我的英语不好,只是想帮忙。

相关问题