private void textBox3_TextChanged(object sender, EventArgs e)
{
if ( textBox3.Text == "")
{
textBox3.Text == "---";
}
}
我在这里尝试做的是检查文本框是否为空,如果是,则---将自动进入另一个datagridview
答案 0 :(得分:3)
这个问题很不清楚。我不知道DataGridView在这里发挥作用,因为代码都是关于文本框的。
但不管怎样,这段代码不是解决问题的好方法。您将不断干扰用户更改文本框内容的能力,从而导致极其令人沮丧的体验。
如果必须这样做,请确保仅在文本框失去焦点时执行此操作,而不是每次文本更改时执行此操作。也就是说,处理LostFocus
事件,而不是TextChanged
事件。您可以进行相同的条件测试,但要确保操作符正确! (==
用于等式测试; =
用于分配)。
private void textBox3_LostFocus(object sender, EventArgs e)
{
if (textBox3.Text == "")
{
textBox3.Text = "---";
}
}
更好的解决方案是use a textbox with a cue banner。将提示横幅设置为“---”字符串,只要文本框为空(不包含文本),它就会显示。这一切都由操作系统自动完成,并作为文本框绘制逻辑的一部分进行处理,因此它不会干扰用户与控件交互的能力。它也是可预测的,并且与标准的Windows UI行为一致。
如果您实际上是在尝试检查文本框是否为空,如果是,请将“---”添加到DataGridView,然后TextChanged
事件可能会起作用,但Validating
是一个更好的选择。在if
语句内部,将文本分配给DataGridView中的相应单元格。