.NET Compact Framework里的DateTimePicker Control显示錯误的month selection list

博主发现微软.NET CF的DateTimePicker Control存在问题,当把PockpetPC的Regional Settings里的Date Format换成'dd - MMM - yyyy'或使用其他Country Settings时,该控件会出错,问题出在代码中Date Format为M/d/yyyy,当Regional Settings里Date Format首位不为M就出错。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(華)

作天发现了微軟.NET CF的DateTimePicker Control里的一个问题,就是如果你把PockpetPC的Regional Settings里的Date Format换去'dd-MMM-yyyy'或者用别的Country Settings;比如说'Ducth (Netherlands)'。。。那你DateTimePicker就会出现以下的错误了!

 

以下就是在DateTimePicker.vb里用来建立month selection list的代码:

ExpandedBlockStart.gif ContractedBlock.gif Private   Sub InitMonthContextMenu() Sub InitMonthContextMenu()
InBlock.gif    
' create a menu that contains list of months
InBlock.gif
    m_monthMenu = New ContextMenu
InBlock.gif
InBlock.gif    
Dim i As Integer
InBlock.gif    
For i = 1 To 12
InBlock.gif        
' create new menu item and hookup the click event
InBlock.gif
        Dim item As New MenuItem
InBlock.gif        m_monthMenu.MenuItems.Add(item)
InBlock.gif        
AddHandler item.Click, AddressOf OnMonthMenuClick
InBlock.gif        item.Text 
= DateTime.Parse(String.Format("{0}/1/2000", i)).ToString("MMMM")
InBlock.gif    
Next i
InBlock.gif
InBlock.gif    
' hookup popup event so can check the current month            
InBlock.gif
    AddHandler m_monthMenu.Popup, AddressOf OnMonthMenuPopup
ExpandedBlockEnd.gif
End Sub

问题就出现在以下这一行代码,因为那Date Format是M/d/yyyy!每当Regional Settings里的Date Format的第一个单为不是M,那就出现错误了。。。

None.gif item.Text  =  DateTime.Parse( String . Format ( " {0}/1/2000 " , i)).ToString( " MMMM " )

只须把这一行代码修改成以下的就不会再有错误的Month selection list了~

None.gif      Dim  d  As   New   Date ( 2000 , i,  1 )
None.gif    item.Text 
=  DateTime.Parse(d).ToString( " MMMM " )
None.gif    d 
=   Nothing

以下就是修改了的Month selection list效果。

 

转载于:https://www.cnblogs.com/hackzai/archive/2005/07/15/193224.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值