我有一个简单的计算器应用程序,其中我使用了两个textBox
,第一个用于输入第一个值,第二个用于第二个值,问题在于代码将焦点转为空{{1 }}也会更改其textBox
。
如果表单上有多个backColor
,则使用foreach
在循环中需要代码。
空文本框错误的代码写在结果单击按钮中:
textBox
答案 0 :(得分:1)
可能你正在寻找这个:
if(textbox1.Text==String.Empty)
{
textBox1.Focus();
textBox1.BackColor=Color.Red;
}
else if(textbox2.Text==String.Empty)
{
textBox2.Focus();
textBox2.BackColor=Color.Red;
}
这将帮助您验证所有 TexBox控件!
foreach (Control control in this.Controls)
{
if (control.GetType() == typeof(TextBox))
{
TextBox textBox = (TextBox)control;
if (textBox.Text == String.Empty)
{
textBox.Focus();
textBox.BackColor = Color.Red;
}
}
}
答案 1 :(得分:0)
正如我在评论中所写,迭代表单控件集合:
样本1:
foreach (Control co in this.Controls)
{
if (co.GetType() == typeof(TextBox))
{
MessageBox.Show(co.Name);
}
}
样本2:
foreach (Control co in this.Controls)
{
if (co.GetType() == typeof(TextBox))
{
TextBox tb = co as TextBox;
MessageBox.Show(co.Name + "/" + co.Tag);
}
}
样本3:
foreach (Control co in this.Controls)
{
TextBox tb = co as TextBox;
if (tb != null)
{
if (!String.IsNullOrWhiteSpace((string)tb.Tag))
{
MessageBox.Show(co.Name + "/" + co.Tag);
}
else
{
MessageBox.Show(co.Name + " ... without tag");
}
}
}