c# winform里如何获取有焦点的控件

chunmiao3032 2009-06-24 09:56:41
c# winform里如何获取有焦点的控件,像在vb6.0里面,用Screen.ActiveForm.ActiveControl可以获取当前具有焦点的控件
...全文
621 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
LQknife 2009-06-24
  • 打赏
  • 举报
回复
遍历一下 判断 Focused 属性
zgke 2009-06-24
  • 打赏
  • 举报
回复
[DllImport("user32.dll")]
public static extern IntPtr GetFocus();
private void timer1_Tick(object sender, EventArgs e)
{
IntPtr _ControlIntPtr =GetFocus();
if (_ControlIntPtr != IntPtr.Zero)
{
Control _Control = Control.FromHandle(_ControlIntPtr);

this.Text = _Control.Name;
}

}

这样看看.
silentwins 2009-06-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hbxtlhx 的回复:]
this.ActiveControl
[/Quote]
如楼上
zzlfe 2009-06-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hbxtlhx 的回复:]
this.ActiveControl
[/Quote]顶
北京的雾霾天 2009-06-24
  • 打赏
  • 举报
回复
this.ActiveControl
cstester 2009-06-24
  • 打赏
  • 举报
回复
4楼的稍微有些麻烦了.. 2楼的就可以了.\!!
燃烧的荷尔蒙 2009-06-24
  • 打赏
  • 举报
回复
this.ActiveControl
qqiuzaihui 2009-06-24
  • 打赏
  • 举报
回复
this.ActiveControl
mafgm 2009-06-24
  • 打赏
  • 举报
回复
应该是 this.ActiveControl
mawering 2009-06-24
  • 打赏
  • 举报
回复
mark!!
shadow_2006 2009-06-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zgke 的回复:]
[DllImport("user32.dll")]
public static extern IntPtr GetFocus();
private void timer1_Tick(object sender, EventArgs e)
{
IntPtr _ControlIntPtr =GetFocus();
if (_ControlIntPtr != IntPtr.Zero)
{
Control _Control = Control.FromHandle(_ControlIntPtr);

this.Text = _Control.Name;

[/Quote]
还是用ActiveControl 吧!不知道有没有其他的。。。

110,536

社区成员

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

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

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