[英]Error - No overload for “method” matches delegate 'System.EventHandler'?
private async void submitRequestButton_Click(DateTime dateFormat, DateTime startFormat, DateTime endFormat, EventArgs e)
{
ParseObject request = new ParseObject("Shifts");
request["Name"] = ParseUser.CurrentUser.Username;
request["Shift"] = shiftBox.Text;
request["Rental"] = rentalBox.Checked;
request["Location"] = locationBox.Text;
request["Date"] = dateFormat.ToString("MMMM dd, yyyy");
request["startTime"] = startFormat.ToString("t", CultureInfo.CreateSpecificCulture("en-us"));
request["endTime"] = endFormat.ToString("t", CultureInfo.CreateSpecificCulture("en-us"));
await request.SaveAsync();
}
private DateTime datePicker_ValueChanged(DateTime dateFormat, EventArgs e)
{
dateFormat = datePicker.Value;
return dateFormat;
}
private DateTime startTimePicker_ValueChanged(DateTime startFormat, EventArgs e)
{
startFormat = startTimePicker.Value;
return startFormat;
}
private DateTime endTimePicker_ValueChanged(DateTime endFormat, EventArgs e)
{
endFormat = endTimePicker.Value;
return endFormat;
}
我不明白为什么我在方法2,方法3和方法4中遇到此错误。
没有“方法”的重载匹配委托“ System.EventHandler”?
如果您需要查看更多代码,请告诉我。 我很确定一切都已正确连接。
看来错误来自: this.datePicker.ValueChanged += new System.EventHandler(this.datePicker_ValueChanged);
(其他2种方法也一样)。
请帮忙! 我是C#的新手,所以我不完全了解为什么会发生此错误。
您所有事件方法上的签名都是错误的。 第一个参数应该是代表触发事件的控件的object
,返回类型应该为void
。
private void datePicker_ValueChanged(object sender, EventArgs e)
{
// Either cast "sender" to the appropriate type of control,
// or just reference the control directly if only one could be subscribed
datePicker.Value
}
看来您甚至不需要这些事件。 在执行时,只需从其他方法中引用控件即可。
request["Date"] = datePicker.Value.ToString("MMMM dd, yyyy");
request["startTime"] = startTimePicker.Value.ToString("t", CultureInfo.CreateSpecificCulture("en-us"));
request["endTime"] = endTimePicker.Value.ToString("t", CultureInfo.CreateSpecificCulture("en-us"));
您的事件方法应如下所示:
private void datePicker_ValueChanged(object sender, EventArgs e)
{
DateTimePicker picker = (DateTimePicker)sender;
//do stuff
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.