Foxtable(狐表)用户栏目专家坐堂 → 如何用本窗口的全局事件获得停靠在本窗口中的窗口控件名称(已解决)


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

主题:如何用本窗口的全局事件获得停靠在本窗口中的窗口控件名称(已解决)

帅哥哟,离线,有人找我吗?
关键下一秒
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:816 积分:6685 威望:0 精华:2 注册:2012/8/23 12:35:00
如何用本窗口的全局事件获得停靠在本窗口中的窗口控件名称(已解决)  发帖心情 Post By:2014/3/20 9:31:00 [显示全部帖子]

如题:请高手指教,谢谢!
[此贴子已经被作者于2014-3-20 12:10:39编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
关键下一秒
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:816 积分:6685 威望:0 精华:2 注册:2012/8/23 12:35:00
  发帖心情 Post By:2014/3/20 9:52:00 [显示全部帖子]

以下是引用Bin在2014-3-20 9:36:00的发言:
遍历控件http://www.foxtable.com/help/topics/1849.htm
我要的是:用本窗口的全局事件获得停靠在本窗口中的窗口里面的控件名称


 回到顶部
帅哥哟,离线,有人找我吗?
关键下一秒
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:816 积分:6685 威望:0 精华:2 注册:2012/8/23 12:35:00
  发帖心情 Post By:2014/3/20 10:26:00 [显示全部帖子]

以下是引用Bin在2014-3-20 9:55:00的发言:
窗口是添加在一个PANEL里的话,你遍历Panel里面的子控件即可

for each c as winform.control  in p.Children
next

bin谢谢!我可能还是没有讲清楚,刚才电脑没有五笔,不好打字:
比如:一、用代码方式将“窗口2”停靠在“窗口1”中;
         二、现在想通过“窗口1”的全局事件MouseHover,来获得鼠标停留在“窗口2”上的控件的名字。


 回到顶部
帅哥哟,离线,有人找我吗?
关键下一秒
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:816 积分:6685 威望:0 精华:2 注册:2012/8/23 12:35:00
  发帖心情 Post By:2014/3/20 10:47:00 [显示全部帖子]

以下是引用Bin在2014-3-20 10:27:00的发言:
我不知道你用什么方式停靠. 如果是添加控件的方式.5楼的方法即可.

如果是MDI方式,直接就循环窗口名即可.

我用的是add方法停靠,当我在窗口1中的全局事件MouseHover加入 messagebox.show(e.sender.name)代码,鼠标停在窗口1原有控件中,会有执行,而停在窗口2中的控件时没有反应。

[此贴子已经被作者于2014-3-20 10:47:34编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
关键下一秒
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:816 积分:6685 威望:0 精华:2 注册:2012/8/23 12:35:00
  发帖心情 Post By:2014/3/20 10:56:00 [显示全部帖子]

以下是引用jspta在2014-3-20 10:52:00的发言:
没有办法只能靠事件绑定,还有种方法,你在窗口2写相应事件,引用就可以了
呵呵,就是不想在窗口2中写代码啊,这样就失丢了通用性。
不过,请教一下,怎样做事件绑定呢,请指教!


 回到顶部
帅哥哟,离线,有人找我吗?
关键下一秒
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:816 积分:6685 威望:0 精华:2 注册:2012/8/23 12:35:00
  发帖心情 Post By:2014/3/20 11:19:00 [显示全部帖子]

谢谢!图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
关键下一秒
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:816 积分:6685 威望:0 精华:2 注册:2012/8/23 12:35:00
  发帖心情 Post By:2014/3/20 12:10:00 [显示全部帖子]

一、定义全局代码里的public变量 :
      dim _eSender as winform.control = nothing
二、定义全局变量:
      vars("_eSenderName") 
三、在窗口2中的全局事件 MouseHover里加入代码:
      _eSender = e.Sender
      vars("_eSenderName") = e.Sender.name
四、在GlobalVariableChanged事件中加入代码
      Select case e.name
          case "_eSenderName"
               MessageBox.show(vars("_eSenderName"))
      end Select
[此贴子已经被作者于2014-3-20 12:11:14编辑过]

 回到顶部