检查文本框是否为空时出现问题。我在这里阅读了很多问题和答案,并且我使用了提到的代码但没有运气。
我只想检查一个文本框是否为空,如果是,则执行某些操作,如果不是,请执行其他操作。
到目前为止,我已经尝试了以下代码:
(textBox4 != null && !string.IsNullOrEmpty(textBox4.Text))
(textBox4.Text == "")
(!String.IsNullOrEmpty(textBox4.text)
(textBox4.Text != Stirng.Empty)
(textBox4.Text.Trim() == "")
(textbox4.Text.Length == 0)
没有代码显示任何错误,但它们仍然不起作用。这是我正在尝试做的完整代码:
private void textBox4_TextChanged(object sender, TextChangedEventArgs e)
{
try
{
double a = Convert.ToDouble(textBox10.Text);
double c = Convert.ToDouble(textBox2.Text);
double d = Convert.ToDouble(textBox3.Text);
double ee = Convert.ToDouble((0.13 * d) * 2);
if (string.IsNullOrEmpty(textBox4.Text))
{
textBox15.Text = Math.Round((((((ee / 2) / c) * 0.13) + (d * 0.13)), 4).ToString();
}
else
{
textBox15.Text = (((((a / 2) / c) * 0.13) + (d * 0.13)) / b).ToString();
}
}
catch
{
}
}
(文本框 3、10、15 是 IsReadOnly="True",键盘是 InputScope="Number",如果重要的话)
我究竟做错了什么?我觉得我已经测试了所有的代码,我不明白为什么它不检查 textBox4 是否为空。
编辑:当我在 textBox4 中写东西时,代码有效,当我从 textBox4 中删除条目时,它检测到 textBox4 为空(但已经晚了)
编辑 2:textBox15 的相同 If/Else 代码写在所有其他涉及的文本框(1、2、3、4、10、15)的 TextChanged 事件下。
当我在 If 和 Else 语句上放置断点时,它仅在以下情况下执行:
仅当我在 textBox4 中键入内容然后将其删除时,该代码才适用于 If 语句。
仅当我键入某些内容,然后将其删除,然后再次重新键入时,它才适用于 Else 语句。