如何调用具有参数的方法(object sender,EventArgs e)

本文关键字:sender object 方法 EventArgs 何调用 调用 参数 | 更新日期: 2023-09-27 18:21:32

在我的wpf应用程序中,我有MonthView类,该类定义了此方法,它从日历中获取选定的日期,并显示该日期的相应dayView窗口。

public void calItemSelectedDate(object sender, SelectionChangedEventArgs e)
    {
        DateTime d;
        if (sender is DateTime)
        {
            d = (DateTime)sender;
        }
        else
        {
            DateTime.TryParse(sender.ToString(), out d);
        }
        DayView Activity = new DayView(d);
        Activity.Show();
        this.Hide();
     }

现在,在我的CustomView类中,我已经创建了dayView的实例,我想在其中传递选定的日期。

DateTime p = Globals._globalController.getMonthViewWindow.calItemSelectedDate(object s, EventArgs e); // here it shows error
DayView d = new DayView(DateTime p);

因此,请建议调用"calItemSelectedDate"方法的方法,以便我可以将适当的datetime参数传递给我的DayView。

如何调用具有参数的方法(object sender,EventArgs e)

要引用的方法是事件处理程序,不是直接调用的最佳选择。在这种情况下,我会做的是:

//A PROPERTY THAT SAVES SELECTED DATE VALUE
public DateTime SelectedDate {get;set;}
//A METHOD THAT SHOWS ACTIVITY 
public void ShowActivity(DateTime date) {
    DayView Activity = new DayView(date);
    Activity.Show();
    this.Hide();
}
public void calItemSelectedDate(object sender, SelectionChangedEventArgs e)
{
    DateTime d;
    if (sender is DateTime)
    {
        d = (DateTime)sender;
    }
    else
    {
        DateTime.TryParse(sender.ToString(), out d);
    }
    SelectedDate = d;
    ShowActivity(d);
 }

从你想称之为的班级

DateTime p = Globals._globalController.getMonthViewWindow.SelectedDate;
DayView d = new DayView(p);