在UserControl中添加自定义事件

suliang1984 2008-01-30 04:32:11
自己写了一个控件CustomControl,其中包含一个Button;我现在想在CustomControl中添加一个事件“Start”,然后在另一个Form中引用CustomControl,当在Form中点击这个Button时,出发Start事件,该怎么来写?
...全文
414 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wshcdr 2009-03-29
  • 打赏
  • 举报
回复
UP
suliang1984 2008-01-30
  • 打赏
  • 举报
回复
to myyihua:
对,就是这个意思,我再啃一啃委托,这会儿正在看C#高级编程里委托那一节,云里雾里的,不过似乎能理解一些了!

tozwq80877:

建立多个Start事件的方法虽然可行,但有一个问题,就是在不同的Form中调用Start事件会有不同的参数,而有些Form中处理这个事件是用到的参数非常多,有三四十个,如果都用签名传进去代码量太大了,我还是觉得直接在Form中处理Start事件方便些。
myyihua 2008-01-30
  • 打赏
  • 举报
回复
这样在form里面的usercontrol控件中找到onhaha事件了
myyihua 2008-01-30
  • 打赏
  • 举报
回复
呵呵,估计你也不是要这样的效果,具体实现方法:
定义
public delegate void haha(object sender, EventArgs e);
public event haha onhaha;
然后在button的click事件中加上下面一句话
onhaha(this, new EventArgs());
lslove87 2008-01-30
  • 打赏
  • 举报
回复
你是想学WebFrom中那样,自己写一个控件,然后,再引用吧

zwq80877 2008-01-30
  • 打赏
  • 举报
回复
利用myyihua的方法,建立很多个start事件,根据form传入的参数调用哪个方法,这个再委托里应该详细讲过的。
suliang1984 2008-01-30
  • 打赏
  • 举报
回复
我的意思简单的说就是在class A中引用了class B,而B中包含了一个Button C,当A运行时,点击这个Button C,就会触发一个Click事件
suliang1984 2008-01-30
  • 打赏
  • 举报
回复
to myyihua:

你说的这个方法当然可以,但是我要在不同的Form中引用我自定义的UserControl,而每一个Form中处理的任务又不一样,所以我需要在UserControl中自定义一个事件,当在Form中点击了UserControl里的button,则执行Form中编写的任务。
myyihua 2008-01-30
  • 打赏
  • 举报
回复
楼主到底想要表达什么意思啊?就你表达的这个意思不是很简单吗?可以直接把你需要在start中实现的代码,写在button的click事件中不就可以了吗?

估计楼主不是这个意思吧?
KETTLY800730 2008-01-30
  • 打赏
  • 举报
回复
namespace WebControl
{
public delegate void ChangeEventHandler(object sender,EventAgrs e);
class CustomControl
{
public CustomControl()
{}
public event ChangeEventHandler changing;
public virtual void OnChanging(EventArgs e)
{
if(changeing!=null)
{
changing(this,e);
}
}
}
}


namespace WebTest
{
public class test:System.Web.UI.Page
{
public void Page_Load(object sender,EventArgs e)
{}
WebControl.CustomControl customControl = new WebControl.CustomControl();
customControl.changing +=new ChangeEventHandler(customControl_Changing);
public void customControl_Changing(object sender,EventArgs e)
{
//-----------
}

}
}

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧