winform中用户控件中textbox的focus问题,求高手!
窗体中有一个用户控件,用户控件有个textbox,textbox的leave事件,该事件先弹出一个消息框,然后会执行textbox.Focus()方法。
现在的问题是 如果我把焦点移到用户控件内部的其他控件上,很正常。如果焦点移到用户控件之外的控件上,会一直执行leave事件,陷入死循环。可能是因为textbox没有获取焦点。请问该如何解决?
代码如下:
C# code
private void textBox_fpbl_Leave(object sender, EventArgs e)
{
string text = textBox_fpbl.Text.Trim();
if (text == string.Empty)
{
MyTip.WarnTip("业绩比例不能为空!");
textBox_fpbl.Focus();
return;
}
}
------解决方案--------------------
间接性死循环,比方说楼主的程序是个mdi,会造成程序卡死(但cpu不高);
换个方法
private void textBox1_Validating(object sender, CancelEventArgs e)
{
string text = textBox1.Text.Trim();
if (text == string.Empty)
{
MyTip.WarnTip("业绩比例不能为空!");
e.Cancel = true;
}
}