嘿嘿,
我的应用程序中有一个标准的 WinForms MonthCalendar,其处理程序连接到 DateChanged 事件。每当我按天更改日期时,单击小日历中的某个日期,事件就会触发一次。但是,每当我按月更改日期时,单击控件中的 < 和 >,事件就会触发两次。我希望事件在所有情况下都触发一次。
有任何想法吗?
编辑:我调试并发现 SelectedItem 或 Range 在第一个和第二个处理程序调用中是相同的。所以我需要一种方法来区分第一次和第二次调用,同时在事件只触发一次时仍然允许正确处理。
请求了处理程序代码,在这里,但它与多次触发的事件无关:
List<TimestampInfo> displayTimestamps = databaseManger.QueryForTimestamps(DayPicker.SelectionRange);
if (displayTimestamps == null) return;
TimestampsListBox.Items.Clear();
TimestampsListBox.Items.AddRange(displayTimestamps.ToArray());