使用过Numericupdown控件的童鞋初期应该都会碰到一个奇怪的问题,
在删除了控件里的值之后,里面实际上还是有数据的,所以也没办法判断非空了。
这里我觉得是因为numericUpDown1.Minimum和numericUpDown1.Maximum,
让Numericupdown控件不允许有空值,或者干脆说value属性就没有空值。
所以要判断该控件的非空只能通过访问其父类UpDownBase,然后判断父类的Text属性是否为空。
UpDownBase up = (UpDownBase)numericUpDown1; if(string.IsNullOrEmpty(up.Text)) { ///如果为空则执行相关操作 }
另外我还发现,在Numericupdown控件的ValueChange事件中,如果是手动在控件里输入数值触发不了该事件,
不过我们同样也可通过父类UpDownBase达到这个效果。
UpDownBase up = (UpDownBase)numericUpDown1; up.TextChanged += new EventHandler(up_TextChanged);
void up_TextChanged(object sender, EventArgs e) { throw new NotImplementedException(); }