怎样给控件里的按钮传动作? 自定义控件上的buttonclick事件应该就是执行在自定义控件中定义的buttonclick事件吧 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以在用户控件里写事件,点击按钮时引发事件。加载这个用户控件的窗体订阅这个事件。如果按钮非常多,可以考虑写一个事件,按扭点击时都引发这个事件(传入一个标识)。这时就需要窗体去判断一下,但这种方式并不好。大概这样: public partial class UserControl1 : UserControl { public UserControl1() { InitializeComponent(); } public delegate void ButtonsClickHandler(int ButtonIndex); public event ButtonsClickHandler ButtonsClick; private void button1_Click(object sender, EventArgs e) { if (ButtonsClick != null) ButtonsClick(1);//第一个按扭被点击 } private void button2_Click(object sender, EventArgs e) { if (ButtonsClick != null) ButtonsClick(2);//第二个按扭被点击 } private void button3_Click(object sender, EventArgs e) { if (ButtonsClick != null) ButtonsClick(3);//第三个按扭被点击 } } public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void userControl11_ButtonsClick(int ButtonIndex) { switch (ButtonIndex) { case 1: //这里处理第一个按钮被点击时要做的事 break; case 2: //这里处理第二个按钮被点击时要做的事 break; case 3: //这里处理第三个按钮被点击时要做的事 break; default: break; } } } 其实感觉是一样的啊,你点击用户控件时要触发的不就可以代替用户控件上的Button嘛为什么要单独区分呢? 属于委托处理的范畴而且楼主的说法有问题直接点击本来按钮就是按钮的click,而不是控件的click 除非你将按钮的click和控件的click 都添加到一个方法里了 用户发送一个消息,用ajax和Json传递数据的代码怎么写啊? C# 中线程的使用问题 enum在内存的实现 链表和List的选择 如何在winform程序中调用CS-Script 脚本 这个脚本执行操作是简单的增删改查 最好有代码示例 谢谢 大家速度啊,这个网站我开多少啊 如何从DSN中读取数据库连接信息? c# 打印问题 求一获取帐户权限问题 如何实现获得时间间隔范围内所有的日期 dataset怎样更新多表 C# :C/S、B/S的主要异同点(在开发过程中体现出的)?
加载这个用户控件的窗体订阅这个事件。如果按钮非常多,可以考虑写一个事件,按扭点击时都引发这个事件(传入一个标识)。
这时就需要窗体去判断一下,但这种方式并不好。大概这样: public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
}
public delegate void ButtonsClickHandler(int ButtonIndex);
public event ButtonsClickHandler ButtonsClick; private void button1_Click(object sender, EventArgs e)
{
if (ButtonsClick != null)
ButtonsClick(1);//第一个按扭被点击
} private void button2_Click(object sender, EventArgs e)
{
if (ButtonsClick != null)
ButtonsClick(2);//第二个按扭被点击
} private void button3_Click(object sender, EventArgs e)
{
if (ButtonsClick != null)
ButtonsClick(3);//第三个按扭被点击
}
}
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void userControl11_ButtonsClick(int ButtonIndex)
{
switch (ButtonIndex)
{
case 1:
//这里处理第一个按钮被点击时要做的事
break;
case 2:
//这里处理第二个按钮被点击时要做的事
break;
case 3:
//这里处理第三个按钮被点击时要做的事
break;
default:
break;
}
}
}
为什么要单独区分呢?
而且楼主的说法有问题
直接点击本来按钮就是按钮的click,而不是控件的click
除非你将按钮的click和控件的click 都添加到一个方法里了