C#WinForm如何给控件的Click事件传送参数?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#WinForm如何给控件的Click事件传送参数?相关的知识,希望对你有一定的参考价值。
在动态创建窗体控件的时候定
Lable MyLink;
for(int i = 0; i < 5; i++)
MyLink.Text = "这里是连接:" + i;
MyLink.Click += MyLinkClick;
Controls.Add(MyLink);
MyLinkClick函数如下:
private void MyLinkClick(object sender, EventArgs e)
MessageBox.Show("ShowText");
我想在点击Lable执行MyLinkClick函数执行的时候弹出不同的提示框信息,请问各位前辈怎么做。
谢谢hibok2,但我不想提示Label.Text,我想单独显示另外一个动态的参数。
我这里在啰唆两句.
private void MyLinkClick(object sender, EventArgs e)
这个里面的sender其实就是触发这个事件的源控件.
那么你在处理这个函数的时候就可以,通过强制类型转换.将他转换成你指定的类,然后在访问它.
Label lbl=(Label)sender;
MessageBox.Show(lbl.Name+""+lbl.Ttext);
等.通过这个原理,你可以将执行相同功能的代码的事件指向为通一个方法,这样就可以实现事件代码的重用了. 参考技术B MessageBox.Show("ShowText");
改为
if (sender != null && sender is Label)
MessageBox.Show((sender as Label).Text);本回答被提问者采纳 参考技术C 你每次点击的时候,对象不一样,如果你想显示另外一个动态的参数,你需要知道那个参数和你点击的对象有什么逻辑关系,找出逻辑关系,根据关系来显示。你这样一说,还需要补充条件才能给你回答 参考技术D private void MyLinkClick(object sender, EventArgs e)
for(int i = 0; i < 5; i++)
MessageBox.Show("这里是连接"+i);
这样就行
winform中如何获取鼠标所点击的控件名称
我在界面上设置了100个Button,运行界面时用鼠标点击任何一个Button都能获取该Button的名称,但是不可能100个Button都创建一个事件,有没有公共的处理办法,请高手帮忙如何实现。我是用VB写的。
你把100个按钮的Click事件都指定成同一个,比如Button_Click然后再这个事件里的sender就是触发这个事件的按钮,
做个强制类型转换。
(sender as Button).Name
就可以了。。。 参考技术A 动态绑定控件事件
遍历当前窗体或对应容器的控件,绑定事件即可. 参考技术B 把你的100BUTTON 全部绑定一个事件,不是有个事件源E么 ,就就用e.string(); 参考技术C 把sender转换为Button
((BUTTON)sender).text
以上是关于C#WinForm如何给控件的Click事件传送参数?的主要内容,如果未能解决你的问题,请参考以下文章
C#winform 主窗体上的用户控件怎样调用主窗体的一个方法!