这两天研究了一下Devexpress中的scheduler控件,在PopupMenuShowing事件中:
if (e.Menu.Id == SchedulerMenuItemId.DefaultMenu)
{
SchedulerMenuItem itemGotoThisDay = e.Menu.GetMenuItemById(SchedulerMenuItemId.GotoThisDay);
if (itemGotoThisDay != null) itemGotoThisDay.Caption = "转到选中日期"; SchedulerMenuItem itemNewAppointment = e.Menu.GetMenuItemById(SchedulerMenuItemId.NewAppointment);
if (itemNewAppointment != null) itemNewAppointment.Caption = "新建日程安排"; SchedulerMenuItem itemNewAllDayEvent = e.Menu.GetMenuItemById(SchedulerMenuItemId.NewAllDayEvent);
if (itemNewAllDayEvent != null) itemNewAllDayEvent.Caption = "新建所有当天事件"; SchedulerMenuItem itemNewRecurringAppointment = e.Menu.GetMenuItemById(SchedulerMenuItemId.NewRecurringAppointment);
if (itemNewRecurringAppointment != null) itemNewRecurringAppointment.Caption = "新建定期日程安排"; SchedulerMenuItem itemNewRecurringEvent = e.Menu.GetMenuItemById(SchedulerMenuItemId.NewRecurringEvent);
if (itemNewRecurringEvent != null) itemNewRecurringEvent.Caption = "新建定期事件"; SchedulerMenuItem itemGotoToday = e.Menu.GetMenuItemById(SchedulerMenuItemId.GotoToday);
if (itemGotoToday != null) itemGotoToday.Caption = "转到今天"; SchedulerMenuItem itemGotoDate = e.Menu.GetMenuItemById(SchedulerMenuItemId.GotoDate);
if (itemGotoDate != null) itemGotoDate.Caption = "转到指定日期"; SchedulerPopupMenu itemChangeViewTo = e.Menu.GetPopupMenuById(SchedulerMenuItemId.SwitchViewMenu);
if (itemChangeViewTo != null) itemChangeViewTo.Caption = "视图更改为";
//子菜单
SchedulerMenuCheckItem itemSwitchToDayView = e.Menu.GetMenuCheckItemById(SchedulerMenuItemId.SwitchToDayView);
if (itemSwitchToDayView != null) itemSwitchToDayView.Caption = "日视图"; SchedulerMenuCheckItem itemSwitchToWorkWeekView = e.Menu.GetMenuCheckItemById(SchedulerMenuItemId.SwitchToWorkWeekView);
if (itemSwitchToWorkWeekView != null) itemSwitchToWorkWeekView.Caption = "工作周视图"; SchedulerMenuCheckItem itemSwitchToWeekView = e.Menu.GetMenuCheckItemById(SchedulerMenuItemId.SwitchToWeekView);
if (itemSwitchToWeekView != null) itemSwitchToWeekView.Caption = "周视图"; SchedulerMenuCheckItem itemSwitchToMonthView = e.Menu.GetMenuCheckItemById(SchedulerMenuItemId.SwitchToMonthView);
if (itemSwitchToMonthView != null) itemSwitchToMonthView.Caption = "月视图"; SchedulerMenuCheckItem itemSwitchToTimelineView = e.Menu.GetMenuCheckItemById(SchedulerMenuItemId.SwitchToTimelineView);
if (itemSwitchToTimelineView != null) itemSwitchToTimelineView.Caption = "按时间线顺序";
//禁用甘特图
SchedulerMenuCheckItem itemSwitchToGanttView = e.Menu.GetMenuCheckItemById(SchedulerMenuItemId.SwitchToGanttView);
if (itemSwitchToGanttView != null) itemSwitchToGanttView.Visible = false;
}
if (e.Menu.Id == SchedulerMenuItemId.AppointmentMenu)
{
//e.Menu.RemoveMenuItem(SchedulerMenuItemId.LabelSubMenu);
//e.Menu.RemoveMenuItem(SchedulerMenuItemId.StatusSubMenu); SchedulerMenuItem itemLabelSubMenu = e.Menu.GetMenuItemById(SchedulerMenuItemId.LabelSubMenu);
if (itemLabelSubMenu != null) itemLabelSubMenu.Caption = "标记为"; SchedulerMenuItem itemStatusSubMenu = e.Menu.GetMenuItemById(SchedulerMenuItemId.StatusSubMenu);
if (itemStatusSubMenu != null) itemStatusSubMenu.Caption = "显示为"; SchedulerMenuItem itemDeleteAppointment = e.Menu.GetMenuItemById(SchedulerMenuItemId.DeleteAppointment);
if (itemDeleteAppointment != null) itemDeleteAppointment.Caption = "删除"; SchedulerMenuItem itemOpenAppointment = e.Menu.GetMenuItemById(SchedulerMenuItemId.OpenAppointment);
if (itemOpenAppointment != null) itemOpenAppointment.Caption = "打开"; SchedulerMenuItem itemEditSeries = e.Menu.GetMenuItemById(SchedulerMenuItemId.EditSeries);
if (itemEditSeries != null) itemEditSeries.Caption = "编辑数据系列";
}
但LabelSubMenu和StatusSubMenu始终不能变成中文,奇怪!
if (e.Menu.Id == SchedulerMenuItemId.DefaultMenu)
{
SchedulerMenuItem itemGotoThisDay = e.Menu.GetMenuItemById(SchedulerMenuItemId.GotoThisDay);
if (itemGotoThisDay != null) itemGotoThisDay.Caption = "转到选中日期"; SchedulerMenuItem itemNewAppointment = e.Menu.GetMenuItemById(SchedulerMenuItemId.NewAppointment);
if (itemNewAppointment != null) itemNewAppointment.Caption = "新建日程安排"; SchedulerMenuItem itemNewAllDayEvent = e.Menu.GetMenuItemById(SchedulerMenuItemId.NewAllDayEvent);
if (itemNewAllDayEvent != null) itemNewAllDayEvent.Caption = "新建所有当天事件"; SchedulerMenuItem itemNewRecurringAppointment = e.Menu.GetMenuItemById(SchedulerMenuItemId.NewRecurringAppointment);
if (itemNewRecurringAppointment != null) itemNewRecurringAppointment.Caption = "新建定期日程安排"; SchedulerMenuItem itemNewRecurringEvent = e.Menu.GetMenuItemById(SchedulerMenuItemId.NewRecurringEvent);
if (itemNewRecurringEvent != null) itemNewRecurringEvent.Caption = "新建定期事件"; SchedulerMenuItem itemGotoToday = e.Menu.GetMenuItemById(SchedulerMenuItemId.GotoToday);
if (itemGotoToday != null) itemGotoToday.Caption = "转到今天"; SchedulerMenuItem itemGotoDate = e.Menu.GetMenuItemById(SchedulerMenuItemId.GotoDate);
if (itemGotoDate != null) itemGotoDate.Caption = "转到指定日期"; SchedulerPopupMenu itemChangeViewTo = e.Menu.GetPopupMenuById(SchedulerMenuItemId.SwitchViewMenu);
if (itemChangeViewTo != null) itemChangeViewTo.Caption = "视图更改为";
//子菜单
SchedulerMenuCheckItem itemSwitchToDayView = e.Menu.GetMenuCheckItemById(SchedulerMenuItemId.SwitchToDayView);
if (itemSwitchToDayView != null) itemSwitchToDayView.Caption = "日视图"; SchedulerMenuCheckItem itemSwitchToWorkWeekView = e.Menu.GetMenuCheckItemById(SchedulerMenuItemId.SwitchToWorkWeekView);
if (itemSwitchToWorkWeekView != null) itemSwitchToWorkWeekView.Caption = "工作周视图"; SchedulerMenuCheckItem itemSwitchToWeekView = e.Menu.GetMenuCheckItemById(SchedulerMenuItemId.SwitchToWeekView);
if (itemSwitchToWeekView != null) itemSwitchToWeekView.Caption = "周视图"; SchedulerMenuCheckItem itemSwitchToMonthView = e.Menu.GetMenuCheckItemById(SchedulerMenuItemId.SwitchToMonthView);
if (itemSwitchToMonthView != null) itemSwitchToMonthView.Caption = "月视图"; SchedulerMenuCheckItem itemSwitchToTimelineView = e.Menu.GetMenuCheckItemById(SchedulerMenuItemId.SwitchToTimelineView);
if (itemSwitchToTimelineView != null) itemSwitchToTimelineView.Caption = "按时间线顺序";
//禁用甘特图
SchedulerMenuCheckItem itemSwitchToGanttView = e.Menu.GetMenuCheckItemById(SchedulerMenuItemId.SwitchToGanttView);
if (itemSwitchToGanttView != null) itemSwitchToGanttView.Visible = false;
}
if (e.Menu.Id == SchedulerMenuItemId.AppointmentMenu)
{
//e.Menu.RemoveMenuItem(SchedulerMenuItemId.LabelSubMenu);
//e.Menu.RemoveMenuItem(SchedulerMenuItemId.StatusSubMenu); SchedulerMenuItem itemLabelSubMenu = e.Menu.GetMenuItemById(SchedulerMenuItemId.LabelSubMenu);
if (itemLabelSubMenu != null) itemLabelSubMenu.Caption = "标记为"; SchedulerMenuItem itemStatusSubMenu = e.Menu.GetMenuItemById(SchedulerMenuItemId.StatusSubMenu);
if (itemStatusSubMenu != null) itemStatusSubMenu.Caption = "显示为"; SchedulerMenuItem itemDeleteAppointment = e.Menu.GetMenuItemById(SchedulerMenuItemId.DeleteAppointment);
if (itemDeleteAppointment != null) itemDeleteAppointment.Caption = "删除"; SchedulerMenuItem itemOpenAppointment = e.Menu.GetMenuItemById(SchedulerMenuItemId.OpenAppointment);
if (itemOpenAppointment != null) itemOpenAppointment.Caption = "打开"; SchedulerMenuItem itemEditSeries = e.Menu.GetMenuItemById(SchedulerMenuItemId.EditSeries);
if (itemEditSeries != null) itemEditSeries.Caption = "编辑数据系列";
}
但LabelSubMenu和StatusSubMenu始终不能变成中文,奇怪!
还有就是它们的类型是不是肯定SchedulerMenuItem
看看到底运行到这里来没有,因为有可能为null
如果不为null,那么Caption在之后是否真的改变了