
vs 自定义控件如何编写事件
3个回答
展开全部
好问题!当时我也是在网上找了很久,然后才写出来的。
我就讲下大体说下吧。
1.自定义控件事件最主要的是参数的传递,而参数是写在事件里的,所以需要定义一个事件
public class EventMoveArgs : EventArgs
{
public EventMoveArgs(xx,xx)
{
.....
}
}//主要用来传递参数,用构造函数
2.声明委托和事件
public delegate void PieceMoveEventHandler(object sender, EventMoveArgs e);//参数名与事件类名
public event PieceMoveEventHandler PieceMoveEvent_Click;//注意名称一致
3.虚方法
protected virtual void OnPieceMove(EventMoveArgs e)
{
if (this.PieceMoveEvent_Click != null)
PieceMoveEvent_Click(this, e);
}
4.自定义控件内部的基本控件的事件
private void uPB_Click(object sender, EventArgs e)//比如Button1_Click
{
OnPieceMove(new EventMoveArgs(0, -1));
}
几本上足够了,你就照着这个该下函数名改就可以了。
最后添加好后在自定义控件事件列表中会多出个OnPieceMove,即你需要的自定义控件事件。
参考的网址可以看下。
记得采纳o(∩_∩)o ~
我就讲下大体说下吧。
1.自定义控件事件最主要的是参数的传递,而参数是写在事件里的,所以需要定义一个事件
public class EventMoveArgs : EventArgs
{
public EventMoveArgs(xx,xx)
{
.....
}
}//主要用来传递参数,用构造函数
2.声明委托和事件
public delegate void PieceMoveEventHandler(object sender, EventMoveArgs e);//参数名与事件类名
public event PieceMoveEventHandler PieceMoveEvent_Click;//注意名称一致
3.虚方法
protected virtual void OnPieceMove(EventMoveArgs e)
{
if (this.PieceMoveEvent_Click != null)
PieceMoveEvent_Click(this, e);
}
4.自定义控件内部的基本控件的事件
private void uPB_Click(object sender, EventArgs e)//比如Button1_Click
{
OnPieceMove(new EventMoveArgs(0, -1));
}
几本上足够了,你就照着这个该下函数名改就可以了。
最后添加好后在自定义控件事件列表中会多出个OnPieceMove,即你需要的自定义控件事件。
参考的网址可以看下。
记得采纳o(∩_∩)o ~
参考资料: http://www.csharpwin.com/csharpspace/7891r3841.shtml
展开全部
问这种问题其实要跟你具体讲解的话,最基本的就是委托和事件,关于事件,有涉及到微软的FCL对事件是怎样处理的; 这还是最基本的,自定义控件,你要对微软的基础类库比较熟悉,不然你的控件要实现什么效果你都不知道用什么类库,如果只是单纯的用继承的方式扩展微软的控件,那么还不需要这么研究;还有自定义控件,你要能做成微软那样的那就蛮好,这里面就涉及到高级概念,比如控件的设计时行为,运行时行为/ ,这些想要了解需要对FCL很了解/
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这种概念很广的问题还是不在这里问吧,你最好是具体问题具体的问
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询