简述一下:
我在某控件A的validated方法中会清除页面上另一块区域的一些控件B,并且动态创建一些新的控件B
(这个控件B是由一组Edit组成的,其中一部分是Enabled=false,其实就是一个Detail行)
现在的问题是,当我的光标停留在控件A时,用鼠标点击控件B中Enabled=false的部分(包括控件之间的缝隙)时,会触发A的validated方法,于是当前所有的控件B会被Dispose之后重新创建,然后就报错了,
大概意思是找不到B
我理解的原因是当执行完A的validated方法后,系统会去继续执行B的点击事件,但是此时已经找不到刚才我点击的B了求助:如何不让系统报错?
我在某控件A的validated方法中会清除页面上另一块区域的一些控件B,并且动态创建一些新的控件B
(这个控件B是由一组Edit组成的,其中一部分是Enabled=false,其实就是一个Detail行)
现在的问题是,当我的光标停留在控件A时,用鼠标点击控件B中Enabled=false的部分(包括控件之间的缝隙)时,会触发A的validated方法,于是当前所有的控件B会被Dispose之后重新创建,然后就报错了,
大概意思是找不到B
我理解的原因是当执行完A的validated方法后,系统会去继续执行B的点击事件,但是此时已经找不到刚才我点击的B了求助:如何不让系统报错?
解决方案 »
- C# 如何Tlbimp.exe工具将该dll转换
- 怎么在不丢失虚拟机里的文件前提下,找会虚拟机中2003系统的登录密码?
- 怎样在用户自定义控件中显示母窗体传的值?
- DataGridView里加ComboBox问题
- 求助一个简单正则匹配字符串
- 求救:System.Net.WebException: 基础连接已经关闭: 接收时发生意外错误。
- C#中的全局变量,应该如何声明?
- vs2003和2010 UNICODE字体编码格式不一样?
- 求助:指定水晶报表的数据源时老提示登陆错误,找不到文件或程序集名称“crystaldecisions.vsdesigner”
- C#现在主要用来做什么呢?(绝非无聊贴)
- 一个算法问题
- 怎么打开我发表的帖子都看不到内容?
簡單的説,A是查詢條件,B是查詢的明細行
那么,在修改了A的内容的同时,点击了B的话,到底是先执行B的点击操作还是先刷新B,如果是先刷新B,则刚才点的B都可能不存在了,无法完成点击操作。如果是先执行B的点击操作,那么如果下面的操作与B有关,是不再刷新B还是怎么办呢?你的用户界面逻辑没有规划好。
至於孰先孰后,並不是我能控制的,只能看C#提供的事件的先後順序,如果有一個事件在“我點擊B的動作發生之後,A的validated觸發之前”被觸發,那這個問題也就迎刃而解了,可是我對C#並不熟悉,還請高手指點。