Foxtable(狐表)用户栏目专家坐堂 → e.Form.Controls("RadioButton4").Select() 执行与预期不一样?


  共有3014人关注过本帖树形打印复制链接

主题:e.Form.Controls("RadioButton4").Select() 执行与预期不一样?

帅哥哟,离线,有人找我吗?
包头123
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1049 积分:8150 威望:0 精华:0 注册:2011/10/11 11:13:00
e.Form.Controls("RadioButton4").Select() 执行与预期不一样?  发帖心情 Post By:2015/11/11 16:35:00 [只看该作者]

版主:
    我建立了6个RadioButton控件,如下:
    Panel1上:RadioButton1,RadioButton2,RadioButton3
    Panel2上:RadioButton4,RadioButton5,RadioButton6

    我的想法是:点击Panel1上的RadioButton1,或者RadioButton2,或者RadioButton3时,都模拟点击(或者默认触发)RadioButton5控件。
    因此,在RadioButton1,RadioButton2,RadioButton3的Click事件中,写了如下语句:
    e.Form.Controls("RadioButton5").Select() 

    运行结果发现:RadioButton5的内容执行了3次,即在屏幕上闪动了3次。

    但是我去掉RadioButton1,RadioButton2,RadioButton3的Click事件中的代码,手工点击RadioButton5控件时,只执行1次。

    为什么自动执行e.Form.Controls("RadioButton5").Select()与人工点击RadioButton5控件的效果有差异呢?

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/11 17:01:00 [只看该作者]

select() 触发的是Enter事件,不会触发click事件。

 

具体例子发上来。


 回到顶部
帅哥哟,离线,有人找我吗?
包头123
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1049 积分:8150 威望:0 精华:0 注册:2011/10/11 11:13:00
  发帖心情 Post By:2015/11/11 17:46:00 [只看该作者]

那我先试试看。

 回到顶部
帅哥哟,离线,有人找我吗?
包头123
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1049 积分:8150 威望:0 精华:0 注册:2011/10/11 11:13:00
  发帖心情 Post By:2015/11/12 16:22:00 [只看该作者]

版主:
    我做了一个例子,如下:
    点击RadioButton1自动选择RadioButton2,RadioButton2自动选择RadioButton3,在RadioButton3中,显示一行信息,总计显示了4次。
    帮我看看,到底哪里有问题了?
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目1.rar


 回到顶部
帅哥哟,离线,有人找我吗?
包头123
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1049 积分:8150 威望:0 精华:0 注册:2011/10/11 11:13:00
  发帖心情 Post By:2015/11/12 16:22:00 [只看该作者]

也就是说,实际执行结果,本来预想的显示1次,结果显示了4次,与预期不一样。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/12 16:47:00 [只看该作者]

click是中切换焦点肯定有这样的问题。

 

1、2、3;2、3;2、3;2、3;1 这样执行的。

 

用selece触发click肯定是不对的,要不你就用 CheckedChanged 代替


 回到顶部
帅哥哟,离线,有人找我吗?
包头123
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1049 积分:8150 威望:0 精华:0 注册:2011/10/11 11:13:00
  发帖心情 Post By:2015/11/13 8:54:00 [只看该作者]

版主:
    你说的1、2、3;2、3;2、3;2、3;1 这样执行的。我有点不明白,能否再说明白一些。
     用select触发click不对,但我放在click事件中,确实执行了,应该不执行才对。


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/13 9:08:00 [只看该作者]

不要再click事件切换焦点啊。会造成循环触发事件的。

 回到顶部
帅哥哟,离线,有人找我吗?
包头123
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1049 积分:8150 威望:0 精华:0 注册:2011/10/11 11:13:00
  发帖心情 Post By:2015/11/13 9:16:00 [只看该作者]

版主:
     你说的不错,按照你的思路,确实解决了。
     但刚才我提到的问题,我感觉也确实是问题。
     谢谢了。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/13 9:26:00 [只看该作者]

1、2、3表示控件,click事件过程中焦点离开,会先执行其余事件,最后再回到自己那里。

 

1、2、3;2、3;2、3;2、3;1


 回到顶部