修改Devexpress DateEdit控件默認的日期格式和日曆風格

最近項目中不少地方使用到DevExpress的DateEdit控件,並且設置都是一致(日期格式、選擇日期的日曆的風格等)。每一次都須要設置太痛苦,所以須要尋找一種高效的解決方式。編程

1、 設置好一個做爲模板,其它地方須要的話複製粘貼ide

這是一個好方法,不過對於我這種但願經過編程思惟的方式來解決問題的話,這種不是最好的方法。工具

2、 對DateEdit封裝一個擴展方法,擴展方法裏設置好以上所提到的設置項, 每次都在代碼裏調用擴展方法。spa

這種方法貌似是編程方式,可是每次都須要調用擴展方法,顯然並非最好的。3d

3、 重寫默認的DateEdit設置,也就是本篇的核心。code

首先,添加一個DevExpress Item,在彈出的窗體中左側選擇Custom Data Edit,右側Base Editor中下拉選擇DateEdit,修改好Type Name與Item Name, 勾選ViewInfo(Painter和PopupForm能夠不勾選),點擊Add Item完成添加自定義DateEdit控件。orm

此處個人TypeName爲MyDateEdit,Item Name爲MyDateEdit.csblog

在RepositoryItemMyDateEdit類中,添加劇寫方法CreateMaskProperties,實現以下:get

protected override MaskProperties CreateMaskProperties() { MaskProperties maskProperties = base.CreateMaskProperties(); maskProperties.MaskType = MaskType.DateTime; maskProperties.EditMask = @"yyyy-MM"; maskProperties.UseMaskAsDisplayFormat = true; return maskProperties; }

在MyDateEdit類中,修改原來的Propertie屬性代碼。it

修改前:

[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] public new RepositoryItemMyDateEdit Properties { get { return base.Properties as RepositoryItemMyDateEdit; } }

修改後:

[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] public new RepositoryItemMyDateEdit Properties { get { RepositoryItemMyDateEdit repositoryItemDateEdit = base.Properties as RepositoryItemMyDateEdit; if (repositoryItemDateEdit != null) { repositoryItemDateEdit.VistaCalendarInitialViewStyle = VistaCalendarInitialViewStyle.YearView; repositoryItemDateEdit.VistaCalendarViewStyle = VistaCalendarViewStyle.YearView; } return repositoryItemDateEdit; } }

編譯後,在工具箱就能看到MyDateEdit控件。 將控件拖拽到winform窗體中,運行程序,效果以下。

相關文章
相關標籤/搜索