我就讲下大体说下吧。
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
~
这个好像不太可能 不过你可以尝试给用户自定义控件开放一个属性,给他相应的get,set方法 这样 在你用到用户控件的时候 实例化你的用户控件 然后给他属性赋值在用户控件中对属性进行判断 这样不就可以了么. 这种方式 在开发中非常常用 我也能又半年不做asp了 我记得好像是在page_load上面实例化用户控件吧.你尝试一下吧. 一般开发中 都是这么用的. 一个用户控件说白了不也是一个类么.先说说你想要的是什么东西,如果是几个控件的组合的,VS2010下有个windows窗体控件库,可以像画画面一样拖动控件来创建。如果是扩展另一个控件,直接写Class,继承那个控件,然后写自定义方法即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)