C#能给控件增加自定义事件不?怎么增?
像C++那样给类增加一个函数。比方这样:输入编号和人数,点修改,把人数传给对应的标签,然后标签处理下这个人数(不同人数不同颜色)。求教……...
像C++那样给类增加一个函数。
比方这样:输入编号和人数,点修改,把人数传给对应的标签,然后标签处理下这个人数(不同人数不同颜色)。
求教…… 展开
比方这样:输入编号和人数,点修改,把人数传给对应的标签,然后标签处理下这个人数(不同人数不同颜色)。
求教…… 展开
4个回答
展开全部
C#中Asp.net和winform都提供有控件,一般控件的自身事件就足够用了。
如果想要给控件自定义事件的话,也没有问题,需要的基础知识就是对delegate和event比较了解。
这样就可以自己写自定义事件。
public class SampleEventArgs
{
public SampleEventArgs(string s) { Text = s; }
public String Text {get; private set;} // readonly
}
public class Publisher
{
// Declare the delegate (if using non-generic pattern).
public delegate void SampleEventHandler(object sender, SampleEventArgs e);
// Declare the event.
public event SampleEventHandler SampleEvent;
// Wrap the event in a protected virtual method
// to enable derived classes to raise the event.
protected virtual void RaiseSampleEvent()
{
// Raise the event by using the () operator.
if (SampleEvent != null)
SampleEvent(this, new SampleEventArgs("Hello"));
}
}
如果想要给控件自定义事件的话,也没有问题,需要的基础知识就是对delegate和event比较了解。
这样就可以自己写自定义事件。
public class SampleEventArgs
{
public SampleEventArgs(string s) { Text = s; }
public String Text {get; private set;} // readonly
}
public class Publisher
{
// Declare the delegate (if using non-generic pattern).
public delegate void SampleEventHandler(object sender, SampleEventArgs e);
// Declare the event.
public event SampleEventHandler SampleEvent;
// Wrap the event in a protected virtual method
// to enable derived classes to raise the event.
protected virtual void RaiseSampleEvent()
{
// Raise the event by using the () operator.
if (SampleEvent != null)
SampleEvent(this, new SampleEventArgs("Hello"));
}
}
参考资料: http://msdn.microsoft.com/zh-cn/library/8627sbea
展开全部
继承控件对应的对象,并使用这个类进行实例化。然后在你的自定义类中定义对应的事件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以。而且根本不用自定义事件啊。直接用LABEL的textchange事件。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询