簡體   English   中英

如何調用具有參數的方法(對象發送者,EventArgs e)

[英]How to call method having parameters (object sender, EventArgs e )

在我的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。

引用的方法是事件處理程序,而不是直接調用的最佳選擇。 在這種情況下,我要做的是:

//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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM