在C# WinForm应用程序中如何获取当前窗体中被激发的控件名称?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在C# WinForm应用程序中如何获取当前窗体中被激发的控件名称?相关的知识,希望对你有一定的参考价值。

在C# WinForm应用程序中我想获取当前被点击的控件的名称,用于判定当前是点击了那个控件。这个问题怎么实现?
不是说要获取是激活了那个窗体,而是要获取一个窗体中是点击了那个控件(窗体中包含很多控件),我自己是这样想的:
定义了一个全局变量 public string ActivedName;

然后通过这样实现:ActivedName=this.ActiveControl.Name.ToString();
为什么不对啊!!

参考技术A 每个事件都有有个Sender 参数,通过它即可判断,前提是你要能区分出那个类型的控件,比如:都是Button按钮,你可以这样做
Button source=(Button as sender);
if(source!==null)

//此时说明你点击的是按钮,具体那个按钮,要根据你设计时的需求来,比如你的按钮中的Tag标识类是那个按钮,那你就可以根据Tag属性来进行相关的判断操作

参考技术B 简单:

窗体的Activated事件中 获得当前窗体的name 就可以了

这个事件应该不用说了 事件属性里找到 直接双击
在这个函数里写
messagebox.show(this.name.tostring());就可以了 或者写成一个公共方法.
参考技术C 给每个控件加click事件.事件方法里写ActivedName="各个控件的名称"本回答被提问者采纳

c# winform程序,我定义一个类,一个窗体,如何在类中访问一个窗体的控件。

参考技术A 很明显的意思:受保护,不可访问
(protected),在Designer.cs里面拉到下面去,找到
lblScore
把它设为public试试

以上是关于在C# WinForm应用程序中如何获取当前窗体中被激发的控件名称?的主要内容,如果未能解决你的问题,请参考以下文章

C#获取当前窗体句柄及该窗体里的信息

c# 动态获取当前屏幕中光标所在位置

c# winform中mdi子窗体激活问题

C# winform怎么实现子窗体关闭时刷新父窗体数据

C# Winform 控件或窗体失去焦点时,获取键盘输入数据(我用winform获取另一个窗口的数据)

c# winform程序,我定义一个类,一个窗体,如何在类中访问一个窗体的控件。