关于validating的问题(初学)
本人学习《c#入门经典》,遇到了问题。下面是一段程序,来自书中。
我不明白的是,如何才能触发下面的validating?还有,如果光标变成了方形,如何才能纠正?
夜深了,打扰大家了。谢谢大家。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void textBox1_TextChanged(object sender, EventArgs e)
{ this.textBox1.Validating += new System.ComponentModel.CancelEventHandler(this.txtBoxEmpty_Validating);
}
private void txtBoxEmpty_Validating(object sender, System.ComponentModel.CancelEventArgs e)
{
TextBox tb = (TextBox)sender;
if (tb.Text.Length == 0) { tb.BackColor = Color.Red; }
else { tb.BackColor = System.Drawing.SystemColors.Window; }
}
}
}
[解决办法]
上面说的容易产生误解,这样说会好一些
textBox1失去焦点就触发这一事件了,但是如果要看到效果,先在textBox1输入一些内容,然后将输入的内容清空,用鼠标点下窗体的其它控件,让textBox1失去焦点,此时textBox1的背景色就变为红色了