.NET Compact Framework里的DateTimePicker Control显示錯误的month selection list
(華)
作天发现了微軟.NET CF的DateTimePicker Control里的一个问题,就是如果你把PockpetPC的Regional Settings里的Date Format换去'dd-MMM-yyyy'或者用别的Country Settings;比如说'Ducth (Netherlands)'。。。那你DateTimePicker就会出现以下的错误了!
以下就是在DateTimePicker.vb里用来建立month selection list的代码:
Private Sub InitMonthContextMenu()
' create a menu that contains list of months
m_monthMenu = New ContextMenu
Dim i As Integer
For i = 1 To 12
' create new menu item and hookup the click event
Dim item As New MenuItem
m_monthMenu.MenuItems.Add(item)
AddHandler item.Click, AddressOf OnMonthMenuClick
item.Text = DateTime.Parse(String.Format("{0}/1/2000", i)).ToString("MMMM")
Next i
' hookup popup event so can check the current month
AddHandler m_monthMenu.Popup, AddressOf OnMonthMenuPopup
End Sub
' create a menu that contains list of months
m_monthMenu = New ContextMenu
Dim i As Integer
For i = 1 To 12
' create new menu item and hookup the click event
Dim item As New MenuItem
m_monthMenu.MenuItems.Add(item)
AddHandler item.Click, AddressOf OnMonthMenuClick
item.Text = DateTime.Parse(String.Format("{0}/1/2000", i)).ToString("MMMM")
Next i
' hookup popup event so can check the current month
AddHandler m_monthMenu.Popup, AddressOf OnMonthMenuPopup
End Sub
问题就出现在以下这一行代码,因为那Date Format是M/d/yyyy!每当Regional Settings里的Date Format的第一个单为不是M,那就出现错误了。。。
item.Text = DateTime.Parse(String.Format("{0}/1/2000", i)).ToString("MMMM")
只须把这一行代码修改成以下的就不会再有错误的Month selection list了~
Dim d As New Date(2000, i, 1)
item.Text = DateTime.Parse(d).ToString("MMMM")
d = Nothing
item.Text = DateTime.Parse(d).ToString("MMMM")
d = Nothing
以下就是修改了的Month selection list效果。
分类:
.NET CF秘笈
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】博客园携手 AI 驱动开发工具商 Chat2DB 推出联合终身会员
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 对象分配(Alloc)底层原理浅谈
· 聊一聊 C#异步 任务延续的三种底层玩法
· 敏捷开发:如何高效开每日站会
· 为什么 .NET8线程池 容易引发线程饥饿
· golang自带的死锁检测并非银弹
· 聊一聊 C#异步 任务延续的三种底层玩法
· 上位机能不能替代PLC呢?
· 2024年终总结:5000 Star,10w 下载量,这是我交出的开源答卷
· .NET Core:架构、特性和优势详解
· 一个适用于 .NET 的开源整洁架构项目模板