我希望有人能帮助我。我在 C# 中创建了一个用于 Winform 的用户控件。该控件包含各种控件,包括 monthCalendar 控件,但是 monthCalendar 控件是我的问题所在。
我希望包含我的用户控件的父窗体在触发用户控件内的 monthCalendar 的 dateSelected 事件时触发一段代码以使用 linq 查询数据库。这个想法是用户控件不应该知道事物的数据访问端,以便用户控件可以在其他项目中使用。
我希望有一种方法可以使 dateSelected 事件对父表单可用;我已经通过其他控件的点击事件等成功完成了这项工作,但我似乎无法为 monthCalendar 工作,因为 DateSelected 使用 DateRangeEventHandler 而不是标准的 EventHandler。
我希望这是清楚的,因为我已经解决了这个问题,所以我不确定什么有意义了:)任何关于我如何编写代码的帮助或建议将不胜感激。
最佳答案
与处理按钮事件的方式相同。
在您的 UserControl 中,它看起来像这样:
public event DateRangeEventHandler DateChanged {
add { monthCalendar1.DateChanged += value; }
remove { monthCalendar1.DateChanged -= value; }
}
然后在你的表单中,像所有带有事件的控件一样:
userControl11.DateChanged += userControl11_DateChanged;
void userControl11_DateChanged(object sender, DateRangeEventArgs e) {
// do something...
}
关于c# - 带有嵌入式 MonthCalendar 问题的 UserControl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20378805/