【发布时间】:2010-12-30 16:31:46
【问题描述】:
尝试谷歌搜索,但无法真正找到答案。
拥有一个带有 MonthCalendar 控件并处理 DateChanged 事件的 Windows 窗体。问题与鼠标点击更改月份有关。
我尝试在标签中显示一个计数器值,每次调用事件处理程序时都会对其进行计数。当月份更改时,事件处理程序被调用 2 次。
当在事件处理中调用 MessageBox.Show("anything") 时,事件处理程序似乎被多次调用,并且日历开始永远向后更改一个月。
有人知道为什么吗?
windows 窗体类中的以下代码会导致所描述的行为:
private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
{
int i = int.Parse(labelDateChanged.Text);
labelDateChanged.Text = (i + 1).ToString();
MessageBox.Show(i.ToString());
}
private void monthCalendar1_DateSelected(object sender, DateRangeEventArgs e)
{
int i = int.Parse(labelDateSelected.Text);
labelDateSelected.Text = (i + 1).ToString();
}
【问题讨论】:
标签: c# winforms monthcalendar