c# winform 比如说一个窗体中有很多个button ,当鼠标在窗体中点击的时候如何得到这个button的id

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# winform 比如说一个窗体中有很多个button ,当鼠标在窗体中点击的时候如何得到这个button的id相关的知识,希望对你有一定的参考价值。

参考技术A //以下代码,在Form1_Load中,为所有按钮添加事件,点击后显示此按钮的id
private void Form1_Load(object sender, EventArgs e)

foreach (Control c in this.Controls)

try

Button b = c as Button;
b.Click += new EventHandler(b_Click);

catch



void b_Click(object sender, EventArgs e)

Button b = sender as Button;
MessageBox.Show(b.Name);
本回答被提问者采纳
参考技术B 给所有的按钮都加上同一个点击事件
private void btn_click(object sender, EventArgs e)

Button btn = (Button)sender;
//这里的btn就是你点击的那个按钮了...你就可以访问它获得你要的东西了
参考技术C private void button1_Click(object sender, EventArgs e)

Button btn = (Button)sender; //获得当前点击的按钮
MessageBox.Show(btn.Name); //输出id
参考技术D 比如一个名叫 btnAdd 的按钮,在它的点击事件中
private void btnAdd_Click(object sender, EventArgs e)

MessageBox.show("btnAdd");
第5个回答  2011-06-21 在事件里写

c# winform 窗口控件多,就会加载很慢???

窗口上有100个控件左右吧,加载很慢,谁能给个解决方法

慢到何种程度
不会打开窗口显示要论秒吧

100个控件本身不会影响太大的速度
应该是你在打开这个窗体的时候,做了其他操作比较耗时,比如,查询数据库啊之类的

我做的界面基本上都是上百的控件,因为是监控界面
加载也不慢啊,呵呵
参考技术A 楼主可以别在同一个Form窗体中放这么多的控件啊,
可以分类,写成很多个窗体。

如:点【设置】就进入另一个窗体。
参考技术B 怎么解决?

当然是增加硬件投入啊。

话说回来了,至于要放100个控件嘛? 为什么不把业务分开设计?

或者设计成有些暂时隐蔽的,例如“高级模式”,点高级才会显示很少用到的。
参考技术C 是不是跟你窗体控件绑定数据库太多有关。。。 参考技术D 使用异步编程模式分离数据处理和窗体加载可以很好的解决您所面临的问题

以上是关于c# winform 比如说一个窗体中有很多个button ,当鼠标在窗体中点击的时候如何得到这个button的id的主要内容,如果未能解决你的问题,请参考以下文章

c# winform 窗口控件多,就会加载很慢???

C#中winform中有啥办法区分Close()和点击窗体右上角关闭按钮来关闭窗体

C#中,给WinForm窗体中添加了几个按钮后就不会响应键盘事件了

C# 里winform窗体颜色怎么设置?

C# winform 如何设置让窗体尽在第一次启动时运行?

winform的窗体中菜单栏中有两个菜单的子窗体间的跳转