问题描述
我有点困惑。我知道我可以以具有自定义事件数据创建一个从EventArgs的派生类。不过,我可以使用的基类的EventArgs不知何故?像鼠标点击按钮,在用户的方法,总有EventArgs的参数。我可以建立某种方式将数据传递这样的方法,我的意思是,他们会在基EventArgs的通过?
I am a bit confused. I know I can create class derived from EventArgs in order to have custom event data. But can I employ the base class EventArgs somehow? Like the mouse button click, in the subscriber method, there is always "EventArgs e" parameter. Can I create somehow the method that will pass data this way, I mean they will be passed in the base Eventargs?
推荐答案
时,它可能只使用 EventArgs的
数据类型生吃?绝对。根据MSDN:
Is it possible to just use the EventArgs
datatype raw? Absolutely. According to MSDN:
本类不包含任何事件数据;它是由时引发的事件没有将状态信息传递给事件处理程序的事件使用。如果事件处理程序需要状态信息,应用程序必须从这个类来保存数据派生类。
的
private event TestEventEventHandler TestEvent;
private delegate void TestEventEventHandler(EventArgs e);
private void button1_Click(object sender, EventArgs e)
{
TestEvent += TestEventHandler;
if (TestEvent != null)
{
TestEvent(new EventArgs());
}
}
private void TestEventHandler(EventArgs e)
{
System.Diagnostics.Trace.WriteLine("hi");
}
的如果你做了吗?的不为任何原因我想如果。如果你想创建自己的点击,您可以只实例化 MouseEventArgs
你自己,太:
Should you ever do it? Not for any reason I can think if. If you want to create your own clicks you can just instantiate the MouseEventArgs
on your own, too:
MouseEventArgs m = new MouseEventArgs(System.Windows.Forms.MouseButtons.Left, 1, 42, 42, 1);
这篇关于它可以将数据传递给EventArgs的,而无需创建派生类?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!