CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  VB.NET

如何跟踪焦点转移

楼主zqone(zqone)2006-05-02 08:57:32 在 .NET技术 / VB.NET 提问

C/S结构的程序,对于某个特定的窗体,我想实时的跟踪当前的焦点控件是什么?也就是说,当窗体上的焦点控件发生变化的时候,记录下来。  
  目前,我还没有很好的办法实现这一点儿,唯一的方法是在窗体load的时候,给所有的子控件增加事件响应函数,实际上是响应每个控件的enter事件,感觉不太爽,有没有其他的更好的方法呢? 问题点数:50、回复次数:7Top

1 楼wuyazhe(wyz&xyl)回复于 2006-05-02 09:51:30 得分 0

For   Each   ctl   As   Control   In   Me.Controls  
                          If   ctl.Focused   Then  
                                  MessageBox.Show("当前获得焦点的控件是:"   +   ctl.Name)  
                                  Exit   For  
                  End   If  
  NextTop

2 楼yinweihong()回复于 2006-05-02 14:36:29 得分 0

AccessibleObject.GetFocused   方法    
   
  检索具有键盘焦点的对象。    
   
  命名空间:System.Windows.Forms  
  程序集:System.Windows.Forms(在   system.windows.forms.dll   中)  
   
  请自行检索MSDN  
   
  Top

3 楼zqone(zqone)回复于 2006-05-02 16:19:44 得分 0

谢谢楼上两位,不过我想问的是怎么能够实时的得到通知,也就是说,一旦焦点的状态发生变化,我的程序就会得到通知。  
  wuyazhe(我的宝贝叫阿刺)的方法我明白,但是似乎还不能满足我的要求。  
  yinweihong()   的方法没用过,我再研究研究。Top

4 楼YidingHe(机枪兵)回复于 2006-05-03 13:31:15 得分 0

好像没什么其他方法了。楼主要的不就是响应每个控件的Enter事件么?Top

5 楼zqone(zqone)回复于 2006-05-04 09:34:00 得分 0

我再想,From为什么没有提供一个事件,当自己的控件的焦点发生变化的时候,通知一下呢。Top

6 楼drk928(一起看斜阳)回复于 2006-05-06 08:52:37 得分 0

写好一个事件类.  
  在窗体的new里面加一个事件处理代码就行了.Top

7 楼zqone(zqone)回复于 2006-05-11 14:07:20 得分 0

楼上能说的详细点儿吗?不太明白……  
  多谢了。Top

相关问题

关键词

得分解答快速导航

  • 帖主:zqone

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo