C# 从具有不同参数的另一个事件触发事件
我想从一个事件触发另一个事件C# 从具有不同参数的另一个事件触发事件,c#,winforms,C#,Winforms,我想从一个事件触发另一个事件 private void ugTopActivity_FillSceneGraph(object sender, FillSceneGraphEventArgs e) { e.Something(); } private void ugTopActivity_ChartDataClicked(object sender, ChartDataEventArgs e) {
private void ugTopActivity_FillSceneGraph(object sender, FillSceneGraphEventArgs e)
{
e.Something();
}
private void ugTopActivity_ChartDataClicked(object sender, ChartDataEventArgs e)
{
//I need to fire FillSceneGraph event from here.
ugTopActivity_ChartDataClicked(sender,e) // This doesn't work because 'e' Types are not convertable
}
如何从一个事件调用另一个具有不同eventargs类型的事件?如果在
ugTopActivity\u Fillsenegraph
中未使用e
,则可以使用null
:
ugTopActivity_ChartDataClicked(sender, null);
否则,您可以自己创建事件参数,如下所示:
FillSceneGraphEventArgs event = new FillSceneGraphEventArgs(parameters here); //I'm not familiar with this event so don't know its arguments
ugTopActivity_ChartDataClicked(sender, event);
正如他所说,我将增强以下问题的答案:您需要创建一个新的
FillSceneGraphEventArgs
对象,并发送到ugTopActivity\u ChartDataClicked
private void ugTopActivity_ChartDataClicked(object sender, ChartDataEventArgs e)
{
//I need to fire FillSceneGraph event from here.
var ev = new FillSceneGraphEventArgs(scene, core); // SceneGraph and ChartCore
ugTopActivity_ChartDataClicked(sender, ev);
}
注意
SceneGraph
和ChartCore
ugTopActivity\u图表数据点击
可能会请求特定发送者对象类型它不是空的。但是我不明白你的答案。FillSceneGraphEventArgs参数是(objectsender,FillSceneGraphEventArgs e)@johntrue忽略答案的第一部分并转到第二部分。您需要将
FillSceneGraphEventArgs
作为参数传递到ugTopActivity\u ChartDataClicked
。因此,您应该创建一个并将其传递给方法。仍然无法获取它。请您重新编写完整的代码好吗?谢谢,但是我应该如何定义场景和核心要回答我需要查看您的代码,您可以查看文档-