自定义控件中事件触发的问题,大家帮忙啊!! 我自定义一个控件,里面自定义了一个事件 dbclick然后再窗口中动态装载自定义控件,并加入控件的dbclick事件。可问题出来了,我要是只装载一个控件的话没有问题,如果装载多个控件,那么我每一次触发dbclick事件都会自动触发多次,后来看了看,是装载了几个控件则触发几次事件。不知道我说明白了没有,反正希望大家帮忙啊,先谢过了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 触发事件的代码中,可以用一个ID号来判断一下是由哪个控件引发的,这样既可以避免多次出发,又可以跟踪引发事件的控件。ID号可以用自定义一个tempEventArgs来传递 代码大概是这样的,我是两个自定义空间A,B其中A装载B//A中定义委托public event BDBClickHandler BDBClick; public delegate void BDBClickHandler (object source,BEventArgs args);//其中BEventArgs 为继承于EventArgs,主要为判断是否击中B,并把当前B带入参数中//A有属性Bs为B的CollectionA使用方法根据Bs装载B控件for (.....){ B.属性 = ... A.Controls.Add(B[i]); B[i].DoubleClick += new System.EventHandler(B_DoubleClick);}//触发BDBClickprivate void B_DoubleClick(object sender, System.EventArgs e) { B CurrgtB = (B)sender; if (CurrgtB != null && BDBClick!= null) BDBClick(this,new BEventArgs (CurrgtB)); }//在Form中装载A后调用A中方法在A中装载B这时如果执行A中BDBClick事件,则A中有几个B也就是A中Bs的Count为几,则自动触发几次不知道这次写明白了吗? C#中的类型转换疑惑 debug 文件夹的文件不能启动 求一winform(C#) 打印代码 请前辈高人指点一下思路 高手指点我这段代码哪里有问题,并指出如何修改,谢谢 用代码改datagrid的列宽怎么改啊? 请问一个小问题! 如何能通过遍历拿到Form上的ErrorProvider之类的Component, 谢谢 請問如何實現DevExpress裡面的ButtonEdit 关于opendialog的一个问题(在线等) DataGrid 绑定到 DataView 的奇怪问题 请教c#2005中串口读数的问题
ID号可以用自定义一个tempEventArgs来传递
其中A装载B
//A中定义委托
public event BDBClickHandler BDBClick;
public delegate void BDBClickHandler (object source,BEventArgs args);
//其中BEventArgs 为继承于EventArgs,主要为判断是否击中B,并把当前B带入参数中//
A有属性Bs为B的Collection
A使用方法根据Bs装载B控件
for (.....)
{
B.属性 = ...
A.Controls.Add(B[i]);
B[i].DoubleClick += new System.EventHandler(B_DoubleClick);
}
//触发BDBClick
private void B_DoubleClick(object sender, System.EventArgs e)
{
B CurrgtB = (B)sender;
if (CurrgtB != null && BDBClick!= null)
BDBClick(this,new BEventArgs (CurrgtB));
}//在Form中装载A后
调用A中方法在A中装载B
这时如果执行A中BDBClick事件,则A中有几个B也就是A中Bs的Count为几,则自动触发几次不知道这次写明白了吗?