winform窗体文本控件Leave事件所引起的问题

zsyutian 2009-11-18 03:34:17
在winform窗体有一个文件控件,对其写了一个Leave事件,可有时关闭窗体时会触发到这个Leave事件,导致出现错误提示,我怎样做到关闭提示不让其触发该事件
if ( MdiParent.ActiveMdiChild.Name != "Quote") { return; }
这样写了好像也没有用
...全文
743 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
huoyingyangjie 2009-11-20
  • 打赏
  • 举报
回复
closing是窗体关闭前,并且指出窗体关闭的原因,可能发生你说的情况吗?
jbo126 2009-11-20
  • 打赏
  • 举报
回复
就是去掉你那个MessageBox.Show。。。
然后通过类似ErrorProvider或状态栏显示你要显示的错误信息呀!
另外我沉得11楼的办法不可行,因为模态窗口的弹出是因为Leave事件的发生,那它为什么会发生呢,因为文本框失去了焦点,那文本框为什么会失去焦点呢?因为用户点击了其它的按钮或是其他的原因,在情况下如果用户点击的是窗体的关闭按钮或可以关闭窗体的普通按钮,则先导致文本框失去焦引发Leave事件进而弹出窗口,然后才会进入窗体关闭的方法!
zsyutian 2009-11-19
  • 打赏
  • 举报
回复
比如不用模态窗口显示错误等!
能有代码参考下吗
jbo126 2009-11-19
  • 打赏
  • 举报
回复
只有在这个文本框具有焦点的时候点窗体关闭按钮时才会引发Leave事件并弹出提示窗口,可以说只有在这个leave事件里有弹出的窗口这个就没法避免!基于你现在的这个思路很难改,你可以考虑换一个思路,比如不用模态窗口显示错误等!
zsyutian 2009-11-19
  • 打赏
  • 举报
回复
private void CustomerID_Leave(object sender, EventArgs e)
{
if (CustomerID.SetTextValue == "" || MdiParent.ActiveMdiChild.Name != "Quote") { return; }
System.Data.SqlClient.SqlDataReader sdr = Conn.ReturnDataReader(Conn.GetDb, "select isnull(curcode,''),isnull(Term,'') ,isnull(Priceterm,'') from customer where custcode='" + CustomerID.SetTextValue + "'");
if (sdr == null)
{
MessageBox.Show("你输入的客户" + CustomerID.SetTextValue + "是无效的,请重新确认");
CustomerID.Focus();
return;
} }
huoyingyangjie 2009-11-19
  • 打赏
  • 举报
回复
取消事件代理,CustomerID.leave -=[这里是你要取消的事件代理];这个代码放在
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
button1.Leave -= new System.EventHandler(this.button1_Leave);
}
zsyutian 2009-11-19
  • 打赏
  • 举报
回复
就这样沉了吗?
noway8881 2009-11-18
  • 打赏
  • 举报
回复
把整段代码拿出来。
kinglshadow 2009-11-18
  • 打赏
  • 举报
回复
application.close试试呢
fengling2001 2009-11-18
  • 打赏
  • 举报
回复
关闭文件的时候,屏蔽这个事件就可以啊
zsyutian 2009-11-18
  • 打赏
  • 举报
回复
就这样沉了吗?想了一天,始终没有想到好的办法,有时会出现此提示,就是关闭窗体时有时会触发哪个控件的leave事件
zsyutian 2009-11-18
  • 打赏
  • 举报
回复
就是一个文本控件,
liherun 2009-11-18
  • 打赏
  • 举报
回复
什么是文件控件?

110,580

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧